VBAの変数宣言
VBAの変数宣言について
変数を暗黙的に宣言する
エクセル VBA の場合、明示的に変数宣言せずに変数を使用すると、バリアント型(Variant)として暗黙的に変数宣言されます。
ただし、バリアント型の変数は、他のデータ型で宣言した変数よりもメモリを多く使用します。また、変数名の競合によるエラーや入力ミスによるエラーを起こすことを防ぐため通常は、変数を明示的に宣言します。
強制的に、変数を明示的に宣言する(その1)
モジュールの宣言セクションに Option Explicit ステートメントを指定するとモジュール内のすべての変数の明示的な宣言が強制されます。
この時、宣言されていない変数名やスペルミスした変数名が検出されるとコンパイル時にエラーが発生します。
強制的に、変数を明示的に宣言する(その2)
VBE(Visual Basic Editor)の [ツール] の [オプション] からも設定可能で、ここで設定すると、すべての新規モジュールに対して、Option Explicit ステートメントを自動的に追加します。
【以下 設定方法】
- [ツール] から [オプション] を選んでクリックします。

- [オプション] ダイアログボックスが表示されるので、[編集] タブの [変数の宣言を強制する] のチェックボックスにチェックを入れて「OK」ボタンをクリックします。

- 新しく、標準モジュールを追加してみると

- 自動的に、モジュールの宣言セクションに Option Explicit ステートメントが追加されます。

関連記事
-
-
書式を変換(Format 関数)
Format 関数の使い方 【書式】 result = Format ( exp …
-
-
文字列:定数(改行・タブ)
改行・タブの定数 これらの定数は、使用前に定義する必要はありません。コード中のど …
-
-
ユーザー定義定数(Const ステートメント)
定数を使う ユーザー定義の定数を使用するには、Const ステートメントを使って …
-
-
インプットボックスを表示する(InputBox関数・InputBoxメソッド)
「InputBox関数」と「InputBoxメソッド」の違い 「InputBox …
-
-
乱数ジェネレータを初期化 (乱数系列を再設定) する(Randomize ステートメント)
Randomize ステートメントの使い方 Rnd 関数 を使用する前に使用しま …
-
-
色の設定(ThemeColor プロパティ・TintAndShade プロパティ)
ThemeColor プロパティ・TintAndShade プロパティ テーマカ …
-
-
式の値に応じて多分岐を行う(Switch 関数)
Switch 関数 の使い方 Switch 関数は、「式・値」を対にして指定して …
-
-
日付時刻:数値から日付・時刻データを取得( DateSerial 関数、TimeSerial 関数 )
DateSerial 関数(数値を使って日付データを取得) 【書式】 date …
-
-
日付時刻:文字列から日付・時刻データを取得( DateValue 関数、TimeValue 関数 )
DateValue 関数(文字列から日付データを取得) 【書式】 date_va …
-
-
文字列:文字列変数の値を右詰めまたは左詰めにする(RSet ステートメント・LSet ステートメント)
RSet ステートメント・LSet ステートメント 【書式】 < RSet ステ …
- PREV
- アウトラインの作成
- NEXT
- 変数のデータ型・宣言(Dim ステートメント)

