エラー内容
VBAコンパイル時に、「End With が必要です。」と表示される。
原因と解決方法
おもに次の2つの原因と解決方法が考えられます。
原因1. Withの閉じ忘れ
解説
Withステートメントの終わりで、End Withを 書いていないと起こります。
解決方法
Withステートメントの終わりに、End With を追加します。
原因2. End Withの数が足りない
解説
Withステートメントがネスト(入れ子)になっていて、Withに対するEnd Withが足りていない場合です。
字下げをしていないと見つけにくく、End Withが1つあるので「End Withがちゃんとあるのにエラーになる・・・」とハマりやすいです。
Withが2つあるので、終わりを意味するEnd Withももちろん2つ必要です。
解決方法
WithとEnd Withがペアになるように修正します。
POINT
入れ子構造の時は、字下げをして構造が見やすいようにしましょう。
字下げは、コードの先頭でTabキーを押下すればOKです。
入れ子構造の時は、字下げをして構造が見やすいようにしましょう。
字下げは、コードの先頭でTabキーを押下すればOKです。
POINT
Withを入力したした後は、中身のプログラムを入力せずに、先にEnd Withを入力しましょう。
その後、Withの中身のプログラムを書くようにすれば、End Withの入力漏れが格段に減ります。
Withを入力したした後は、中身のプログラムを入力せずに、先にEnd Withを入力しましょう。
その後、Withの中身のプログラムを書くようにすれば、End Withの入力漏れが格段に減ります。