EXCELマクロを自動実行させるときの注意事項 [2016年03月25日(Fri)]
EXCELマクロを自動実行させるときの注意事項
失敗という経験が無ければ、身につかない事項があることがわかりました。 EXCELマクロを20年以上使っていますが、同じ失敗は記憶にありませんでした。 前提として、「電化製品に内蔵している電池」をEXCELの表(「現況」シート、「在庫」シート)で管理していました。 「現況」シートの列の項目名は「NO 設置場所 種類 メーカー 購入日 経過期間 電池種類 電池本数 電池点検日 経過期間 電池交換日 経過期間 備考」としました。 「在庫」シートの列の項目名は「NO 電池種類 電池使用数 電池在庫数 充電式電池在庫数 在庫電池の使用推奨期限 備考」 まず、「現況」シートを開いてマクロを実行し、@本日までの「経過期間」を計算する A電池の種類ごとの本数を「在庫」シートで集計する ということを実行していました。 「経過期間」は毎日変化しますので、この「現況」シートを開いて実行するマクロを、ファイルを開いたときに自動実行するように設定しました。 それで、今日のことですが、電池を交換したので在庫が無くなり、電池の補充をすることにしました。 新しく電池を買うと「在庫電池の使用推奨期限」(例04-2020)が変更になる場合があるので、「在庫」シートを表示してファイルを保存しました。 しばらくして、電池を買ってきたのでファイルを開くと、「在庫」シートを表示してマクロを自動実行してしましました。 つまり、「在庫」シートのデータが無くなりました。「Ctrl+z」を実行してもデータは元に戻りませんでした。 データの変更を保存しないで、ファイルを閉じました。 (右上の「×」をクリックして現れた「保存しない」を、クリックする。) ネットで、探すと下のページが見つかりました。 ***引用開始*** EXCELマクロを無効にして開く方法 質問日時:2012/10/12 12:09 http://oshiete.goo.ne.jp/qa/7744698.html No.6 回答日時:2012/10/13 09:00 私が行う場合(Auto_Openの自動実行をさせないために)は、 最初に、Excelで、新規ワークブックが立ち上げます。 次に、Excelのメニューから、ファイル名を選び、 Shiftキーを押しながら、ファイル名を選び、クリックします。 そうすれば、Auto_Openは実行されません。 ***引用終わり*** EXCELマクロを無効にしてファイルを開き、「現況」シートを表示してファイルを閉じました。 これで、今までと同じようにファイルを開けば、「経過期間」を計算するようになりました。 二度とこのようなことが起こらないように、「現況」シートを開いて実行するマクロに、最初に「現況」シートを開くことを追加しました。 (例 Sheets("現況").Select) 今回の反省点は 1 「ファイルを開くと自動実行するマクロ」と「シートを開いて実行するマクロ」を同一にしない。 2 やむを得ず同一にせざるを得ないときは、「ファイルを開くと自動実行するマクロ」に「シートを開いて実行するマクロ」を合わせる。 ※ファイルを「保存しない」ことにすれば、マクロが変更させた部分を元に戻すことができる。 |
Posted by
山田 雄一郎
at 21:12