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 を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

  関連記事

文字列:文字を指定数並べた文字列を返す(String 関数)

String 関数 【書式】 result = String ( number, …

カレントフォルダの変更・確認
カレントフォルダ(CurDir 関数、ChDir ステートメント、ChDrive ステートメント)

カレントフォルダ カレントフォルダとは、ブックを開いたり保存するときに既定で参照 …

RegExp オブジェクト Test メソッド
VBA で正規表現を使う(RegExp オブジェクトのメソッド)

RegExp オブジェクトのメソッド RegExp オブジェクトの詳細に関しては …

Join 関数
Join 関数(配列の要素を結合)

Join 関数 1次元配列の各要素を指定した区切り文字で連結します。 【書式】 …

日付時刻:日付時刻から情報取得( DatePart 関数 )

DatePart 関数(日付・時刻の値から情報を取得) 【書式】 result …

文字列:文字列の空白を削除(Trim 関数, LTrim関数, RTrim関数)

Trim 関数・LTrim 関数・RTrim 関数の使い方 【書式】 <先頭と末 …

色の設定(ColorIndex プロパティ・Colors プロパティ)

ColorIndex プロパティ ColorIndex プロパティは、指定したオ …

RGB値一覧表
RGB 値一覧表(XlRgbColor 列挙型)

RGB 値(XlRgbColor 列挙型)一覧表 RGB 関数を使用して、出力さ …

Tab 関数 01
出力位置、書き込み位置を設定(Tab 関数)

出力位置、書き込み位置を設定 Tab 関数 は、Print メソッド、または P …

Collection 01a
コレクション(Collection)オブジェクト「連想配列」

コレクション(Collection)オブジェクトの使い方 【書式】 Dim my …