エラー内容
VBAコンパイル時に、「ステートメントの最後」と表示される。
原因と解決方法
「ステートメントの最後」とありますが、実際には文法・記述ミスが原因でよく起こります。
なので原因はいくつもありますが、6つの原因と解決方法をピックアップします。

スペースや()などの抜けがある時がよくあるかな・・・
原因1. 変数の定義と値のセットを同時にしている
解説
変数の定義と、値のセットを同時にすることはできません。
解決方法
変数の定義と、値のセットをそれぞれ別で書きます。

定数なら、定義と値のセット同時もOK
Const siteName As String = “えくとしょ”
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文の直後に半角スペースを入れます。