VBA エラー 変数が定義されていません。

はじめに

Excel VBA マクロのエラー「変数が定義されていません。」の対処法を紹介します。

変数名を入力ミスしたときに発生します。

宣言する位置によっても発生することがあります。

エラーの基本的な対処法は、エラー箇所の特定とその原因となったコードをデバッグします。

デバッグについては「デバッグの仕方」をご覧ください。
エラー処理については「エラー処理をする」をご覧ください。
  • 目次
    • 解決する

解決する

変数について詳しくは「変数」をご覧ください。

コードの先頭に Option Explicit を入力すると変数の宣言を強制できます。そのとき宣言されていない変数を使用すると発生します。

Option Explicit ' 変数の宣言を強制する

Sub 実行()
    tips = "found" ' エラー

    Dim tips As String
    tips = "found" ' OK'
End Sub

Public や Private の変数はすべての関数より上に宣言します。下に宣言した変数を使用するとエラーが発生します。

Private tips As Integer

Sub 実行()
    tips = 1  ' OK
    found = 2 ' エラー
End Sub

Private found As Integer ' 関数の上に宣言する必要がある
スコープについて詳しくは「スコープ」をご覧ください。

適切な場所で宣言しているときにエラーが発生するときは、入力ミスが原因です。スペルを間違っていないか確認すると解決できます。