PR

【VBA】Elseに対応するIfがありません。になる4つの原因

VBA
この記事は約2分で読めます。
記事内に広告が含まれています。

今回はVBAで「Elseに対応するIfがありません。」とエラーメッセージが表示される4つの原因紹介します。

エラーになる4つの原因

「End IF」の位置

IF文の中で「End If」を記述すると、そこでIF文が終了します。

IF~の記述がないのに、突然Elseが現れたと判断されるため、「Elseに対応するIfがありません。」のエラーになります。

1行で記述した場合

IF文を1行にまとめて記述した場合、1行で処理が完結します。

IF~の記述がないのに、突然Elseが現れたと判断されるため、「Elseに対応するIfがありません。」のエラーになります。

うめ
うめ

個人的にはIF文を行でまとめるメリットを感じないため、このような使い方はしないですねぇ…。

「Next」が抜けている

IF文内でFor文の「Next」が抜けていると「Elseに対応するIfがありません。」のエラーになります。
※12行目をコメントアウトにしています。

補足

IF文の外でNextが抜けている場合は「Forに対する Nextがありません。」のエラーになります。

「End With」が抜けている

IF文内でWithを記述した時に「End With」が抜けていると「Elseに対応するIfがありません。」のエラーになります。
※12行目をコメントアウトにしています。

補足

IF文の外でEnd Withが抜けている場合は「End Withが必要です。」のエラーになります。

まとめ

VBAで「Elseに対応するIfがありません。」とエラーメッセージが表示される4つの原因について解説をしました。

4つの原因
  1. 「End IF」の位置
  2. 1行で記述した場合
  3. 「Next」が抜けている
  4. 「End With」が抜けている

この記事が気に入ったら
いいね ! しよう

Twitter で
タイトルとURLをコピーしました