ExcelWork.info

Excel(エクセル)のマクロ・VBA・関数・操作などのメモ

VBAの変数宣言

   

VBAの変数宣言について

変数を暗黙的に宣言する

エクセル VBA の場合、明示的に変数宣言せずに変数を使用すると、バリアント型(Variant)として暗黙的に変数宣言されます。
ただし、バリアント型の変数は、他のデータ型で宣言した変数よりもメモリを多く使用します。また、変数名の競合によるエラーや入力ミスによるエラーを起こすことを防ぐため通常は、変数を明示的に宣言します。

強制的に、変数を明示的に宣言する(その1)

モジュールの宣言セクションに Option Explicit ステートメントを指定するとモジュール内のすべての変数の明示的な宣言が強制されます。

Option Explicit ステートメント

この時、宣言されていない変数名やスペルミスした変数名が検出されるとコンパイル時にエラーが発生します。

explicitステートメント エラーメッセージ

強制的に、変数を明示的に宣言する(その2)

VBE(Visual Basic Editor)の [ツール] の [オプション] からも設定可能で、ここで設定すると、すべての新規モジュールに対して、Option Explicit ステートメントを自動的に追加します。

【以下 設定方法】
  1. [ツール] から [オプション] を選んでクリックします。
    option explicit 01

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

  3. 新しく、標準モジュールを追加してみると
    option explicit_03

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

 - VBA基本 , ,

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

  関連記事

四捨五入・切り上げ・切り捨て・丸め(Round 関数 他)

Round 関数(丸め)の使い方 【書式】 value = Round ( ex …

Chr 関数 例
文字列:指定した文字コードに対応する文字を返す(Chr 関数)

Chr 関数の使い方 【書式】 result = Chr ( code ) 引数 …

no image
XlThemeColor 列挙型

XlThemeColor 列挙 定数 値 内容 xlThemeColorDark …

引数が省略されたかどうかをチェックする( IsMissing 関数 )

IsMissing 関数の使い方 【書式】 result = IsMissing …

式の値に応じて多分岐を行う(Switch 関数)

Switch 関数 の使い方 Switch 関数は、「式・値」を対にして指定して …

フォントの設定(Font プロパティ)

フォントの設定(Font プロパティ) 指定されたオブジェクトのフォント情報(F …

画面の更新を停止(ScreenUpdating プロパティ)

画面の更新を停止 マクロを実行すると、画面が更新されます。これにより、実行速度が …

UBound LBound 関数 使用例01
配列の要素数を取得する(UBound 関数・LBound 関数)

UBound 関数・LBound 関数 【書式】 result = UBound …

指定した値を8進数で表記した文字列に変換する(Oct 関数)

Oct 関数 の使い方 【書式】 result = Oct ( expressi …

DateSerial 関数 TimeSerial 関数 使用例
日付時刻:数値から日付・時刻データを取得( DateSerial 関数、TimeSerial 関数 )

DateSerial 関数(数値を使って日付データを取得) 【書式】 date …