【VBAで感動する瞬間⑪】エラーの対処法その1
記事
学び
こんにちは。
ごんた@VBAレッスン です。
今日は、
”エラーとの向き合い方” をお話しします。
■ エラーが出たら、まず“最小単位”にする
VBAを書いていてエラーが出ると、
昔の私はつい「全部を直そう」としていました。
でも今は違います。
エラーが出たら、
元のコードはそのままにして、原因だけを最小単位に切り分ける。
これが私の基本方針です。
■ そのために欠かせないのが、イミディエイトウインドウ
イミディエイトウインドウは、
VBAの中で一番“気軽に試せる場所”。
ここでは、
- ? で値を確認
- 一行書いてそのまま実行
この2つができます。
そして私は、この どちらも便利で必要 だと思っています。
■ ? は「中身を見る」ための最速ツール
? は Debug.Print の省略形。
```vba
? fname
? InStr(fname, "_")
```
こう書いて Enter を押すだけで、
- 変数の中身
- 関数の戻り値
- 計算結果
が一瞬で分かります。
“確認”に特化した最強の道具です。
■ 一行実行は「実際に動かす」ための最速ツール
一方で、一行実行は Excelを実際に動かす ためのもの。
```vba
Range("A1").Select
Cells(i, 1).Select
Range("B1") = fname
```
こう書いて Enter を押すだけで、
- セルを選択させる
- 値を書き込む
- ループの現在位置を確認する
など、実際の動作をそのまま目で確認できます。
“動きを見る”ための最強の道具です。
■ 元のコードは触らない。原因だけを切り分ける
私が ? と一行実行を好きな理由はここにあります。
- 元のコードは壊さない
- 変数の中身だけ確認できる
- 関数だけ単体で試せる
- セルの動きも一行で再現できる
つまり、
👉 エラーの原因だけを、最小単位で切り分けて調べられる。
これが、エラーに強くなる一番の近道です。
■ まとめ(ごんた式)
- エラーが出たら、まず“最小単位”にする
- 元のコードは触らない
- ? で中身を見る
- 一行実行で動きを見る
- どちらも便利で必要
- エラーは“敵”ではなく“案内役”
週末にゆっくり読みながら、
「エラーって怖くないんだ」と思ってもらえたら嬉しいです。
🌱 VBAを学び始めた方へ。
基礎からしっかり、安心して学べるレッスンはこちら!