• 締切済み

VBAの初期化について

VBAの初期化について 変数Xに100という値を初期値として代入したいのですが。 Option Explicit Dim X As Integer X =100 と書くとコンパイルエラーになります。 C言語では int X=100 と初期化できますが、 VBAではどのようにすればいいのでしょうか?

みんなの回答

  • dogs_cats
  • ベストアンサー率38% (278/717)
回答No.2

変数Xをどのプロシージャで使用するのかによって宣言方法が違ってきます。 1)sub プロシージャだけ使用する場合はsubプロシージャ内で宣言します。    Option Explicit    sub test()     Dim X As Integer     X =100    end sub 2)同一モジュール内で複数のsubプロシージャで共有する変数。   Option Explicit    Dim X As Integer    sub test()     X =100    end sub 3) 異なるモジュールにも共有する変数の場合はPublicで宣言します。   Option Explicit    Public X As Integer    sub test()     X =100    end sub

すると、全ての回答が全文表示されます。
回答No.1

> と書くとコンパイルエラーになります。 「コンパイルエラー:  プロシージャの外では無効です。」 ですよね? エラーのダイアログの「ヘルプ」を押して表示されるとおり、 | Sub 内または Function 内、またはプロパティ プロシージャ (Property Get、Property Let、Property Set) 内に記述しなければならないステートメントです。 です。 -- > C言語では > int X=100 > と初期化できますが、 > VBAではどのようにすればいいのでしょうか? モジュールレベルの変数を初期化する手段は無いハズ。 プロシージャの最初で初期化するとか、初期化用の処理を呼び出すとかが一般的です。 変数でなくて定数なら、 Const X As Integer = 100 とかって書き方は出来ますが。

すると、全ての回答が全文表示されます。

関連するQ&A