【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を学び始めた方へ。  
基礎からしっかり、安心して学べるレッスンはこちら!
サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す ココナラコンテンツマーケット ノウハウ記事・テンプレート・デザイン素材はこちら