A Function Sample()
End Function
Sample = "Hello"
→FunctionとEnd Functionの外にロジックを記述している為にコンパイルエラーになります。
B Function Sample()
Sample = Today()
End Function
→ VBAではTodayという関数を使用できない為にコンパイルエラーになります。
2.実行時エラー(文法は合っているが、実行すると演算ができずにエラーが発生する。)
構文上正しくても、実行すると演算ができずに矛盾してしまう場合に発生します。エラーの発生した箇所やプログラムの前後関係を調べながら、地道にエラーを潰していきます。多少論理的な思考が要求されるところで、初心者の方は最初にここでつまずきます。
例)
Sub 例題()
Cells(1500000,1) = "商品名"
End Sub
上記は1500000行目のA列に、「商品名」という文字を代入しようとしていますが、Excelのシートには1500000行目は存在しない為に実行時エラーになります。ちなみにMAXは1048576行です。