• もっと見る
<< 2024年04月 >>
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30        
カテゴリアーカイブ
最新記事
最新コメント
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
この記事のURL
https://blog.canpan.info/hofu_nanboku/archive/309
プロフィール

山田 雄一郎さんの画像
山田 雄一郎
プロフィール
ブログ
リンク集
https://blog.canpan.info/hofu_nanboku/index1_0.rdf
https://blog.canpan.info/hofu_nanboku/index2_0.xml