【VBAエラー】「修正候補: ステートメントの最後」の原因・解決方法

エラー内容

VBAコンパイル時に、「ステートメントの最後」と表示される。

原因と解決方法

「ステートメントの最後」とありますが、実際には文法・記述ミスが原因でよく起こります。
なので原因はいくつもありますが、6つの原因と解決方法をピックアップします。

スペースや()などの抜けがある時がよくあるかな・・・

原因1. 変数の定義と値のセットを同時にしている

解説

変数の定義と、値のセットを同時にすることはできません。

解決方法

変数の定義と、値のセットをそれぞれ別で書きます。

定数なら、定義と値のセット同時もOK
Const siteName As String = “えくとしょ”

原因2. ForとNextを1行に書いている

解説

繰り返し処理でForとNextが同じ行に書かれているとエラーになります。

解決方法

ForとNextをそれぞれ別の行に書きます。

 

原因3. セルに値をセットする時、=がない

解説

RangeやCellsでセルに値をセットする時、=がないのが原因です。

解決方法

対象セル(RangeやCell)とセットする値の間に、=を書きます。

 

原因4. Callステートメントで引数に()がない

解説

Callでプロシージャ(Sub、Function)を呼ぶ時、引数を()で囲んでいないのが原因です。

解決方法

Callでプロシージャ(Sub、Function)を呼ぶ時は、引数を()で囲みます

Callで呼んでない時は、引数の()はなくてもOK
MsgBox “VBAがんばろー”

 

原因5. メソッドや関数で引数に()がない

解説

呼び出したメソッドや関数の戻り値を使う時(返された値を変数にセットする時)時に、引数を()で囲んでいないのが原因です。

解決方法

呼び出したメソッドや関数の引数を()で囲みます

 

原因6. IfやFor文で半角スペースがない

解説

IfやFor文の直後に半角スペースがないと、文字がつながって認識されてしまいます。

解決方法

IfやFor文の直後に半角スペースを入れます。

 

関連記事

VBAエラー原因・解決方法
成果を出す5つのポイント
VBAエラー原因・解決方法
えくとしょ | 初心者のためのエクセルとVBAの図書館
タイトルとURLをコピーしました