マクロの誤実行を防ぐ対策! #Excel #LifeHacks #Office
私が一番ヒヤッとしたのは、「データ更新(管理者)」みたいなボタンを誤って押して、旧データが上書きされたときです。そこでまずやったのが、VBAのメイン処理の直前に確認ダイアログ(MsgBox)を入れる方法。これだけで“意図せず実行”がほぼ無くなりました。 ■確認MsgBoxの入れ方(コピペでOK) 例:UpdateData みたいなプロシージャの先頭に追加します。 If MsgBox("本当に実行しますか?", vbYesNo + vbExclamation + vbDefaultButton2, "確認") <> vbYes Then Exit Sub この書き方だと、デフォルトが「いいえ」になるので安心です(押し間違い対策)。その下に、Range("C4:C23").Value = Range("D4:D23").Value や Range("D4:D23").ClearContents などの本処理を書きます。 ■「マクロを有効にする/コンテンツの有効化」も忘れずに ファイルを開いたとき上部に黄色いバーが出る場合は「コンテンツの有効化」を押さないと、ボタンを押してもマクロが動かないことがあります。社内PCだと設定でブロックされていることもあるので、 ・拡張子が .xlsm になっているか ・保護ビューで開いていないか(編集を有効にする) ・信頼できる場所に保存されているか を私は先に確認しています。 ■「マクロボタンが押せない」時のチェック ボタン自体が反応しないときは、シート保護やデザインモードが原因のことが多いです。 ・開発タブ → デザインモードがONになっていないか ・シート/ブックが保護されていないか ・ボタンにマクロ(例:.xlsm!UpdateData)が正しく登録されているか(右クリック→マクロの登録) ■マクロの記録を使うと“雛形”が作れて早い VBAが苦手なときは、まず「マクロの記録」で一度操作(コピー→値貼り付け等)を記録してコードを生成→その前に確認MsgBoxを足す、という流れが分かりやすかったです。 ■修正を依頼する前にメモしておくとスムーズ 「マクロが使えない/動かない」とき、私は ・エラー文(そのまま) ・どのボタン(データ更新など)で起きるか ・対象の範囲(C4:C23 など) を控えてから相談します。これだけで原因特定が早くなりました。 誤実行対策は“確認画面+デフォルトいいえ”が一番効きました。慣れてきたら、実行ログを残す・管理者だけ実行可能にする、みたいな追加もおすすめです。





















