ExcelVBAオプション明示
変数の宣言はVBAで非常に重要です、Option Explicitはユーザーにそれらを使用する前にすべての変数を宣言することを必須にします、未定義の変数はコードの実行中にエラーをスローします、キーワードオプションを明示的に書くか、それを有効にすることができます変数宣言を要求できるようにすることで、オプションからのすべてのコード。
VBAでは、変数がすべてです。データを格納するには、適切なデータ型の変数が必要です。スプレッドシート自体に値を直接追加できるのに、なぜ変数が必要なのか疑問に思うかもしれません。これは主に、ワークブックの複数のユーザーが原因です。1人で処理する場合は、シート自体に値を直接参照できます。変数を宣言することで、データを格納するための柔軟なコードを作成できます。
VBA Option Explicitとは何ですか?
モジュールでマクロが開始される前に、モジュールの上部にある青い線の単語「OptionExplicit」に出くわしたことを願っています。
VBAを学び始めたとき、私もそれが何であるかを理解していませんでした。率直に言って、私もこれについてまったく考えていませんでした。私やあなただけでなく、最初は誰にとっても同じです。しかし、私たちは今、この言葉の重要性を理解するでしょう。
「OptionExplicit」は、変数を宣言する際のメンターです。この単語を追加することにより、変数宣言が必須のプロセスになります。
このVBAオプションの明示的なExcelテンプレートはここからダウンロードできます–VBAオプションの明示的なExcelテンプレート例については、理解のために以下のコードを見てください。
コード:
Sub Example1()i = 25 MsgBox i End Sub
このコードを実行すると、VBAのメッセージボックスに変数「I」の値が表示されます。
次に、VBAコードの最初に「OptionExplicit」という単語を追加します。
次に、コードを実行して、何が起こるかを確認します。私と一緒に練習している場合は、F5キーを押してコードを実行します。
コンパイルエラーが発生し、「変数が定義されていません」と表示されます。変数「i」は宣言していませんが、すぐに値を25として割り当てました。
「OptionExplicit」という単語を追加したので、変数を強制的に宣言する必要があります。
上記のコードでは、アルファベットの「i」が宣言されていないため、変数コントローラーの単語「Option Explicit」を追加して、宣言されていない変数を使用できないようにしています。
モジュールの先頭に「OptionExplicit」という単語を追加すると、その特定のモジュール内のすべてのマクロに変数を強制的に宣言することができます。
変数宣言を必須にする方法は?
新しいモジュールを挿入するときにモジュールに変数メンター「OptionExplicit」を手動で追加した場合、デフォルトではこの変数メンターは取得されません。
すべての新しいモジュールに「OptionExplicit」という単語を手動で追加する必要があると思うたびに、あなたは間違っています。
簡単な設定ですべてのモジュールでこの単語を必須にすることができるからです。以下の手順で設定を調整してください。
ステップ1: Visual BasicEditorに移動します。
ステップ2:ツールに移動し、オプションをクリックします。
ステップ3: [オプション]をクリックすると、以下のウィンドウが表示されます。
ステップ4:このウィンドウの下でエディターに移動し、「変数宣言が必要」オプションにチェックマークを付けます。
手順5: [OK]をクリックしてウィンドウを閉じます。
今後、新しいモジュールを追加すると、デフォルトで「OptionExplicit」という単語が自動的に挿入されます。
OptionExplicitはあなたのセーバーです
Option Explicitは、変数の宣言を必須にすることから実行まで、多くの点で役立ちます。以下のコードを見てください。
コード:
Sub Example2()Dim CurrentValue As Integer CurentValue = 500 MsgBox CurrentValue End Sub
上記のコードでは、変数「CurrentValue」を整数として宣言しています。次の行では、500の値を割り当てました。このコードを実行すると、メッセージボックスに500が表示されます。しかし、何が起こるか見てください。
「変数が定義されていません」と表示され、2行目が強調表示されています。
2行目をよく見ると、わずかなスペルミスがあります。私の変数名は「CurrentValue」ですが、2行目で「r」という1つのスペルを見逃しています。「CurrentValue」ではなく「CurrentValue」と表示されます。Excel VBAに「OptionExplicit」という単語を追加して変数宣言を必須にしたので、私が犯したタイプミスが浮き彫りになりました。
したがって、スペルを修正してコードを実行すると、次のような結果が得られます。
新しく任命された可変メンターに挨拶してください!!!