Microsoft Excel VBA - 変数

◆変数の宣言を強制する
 VBAでは変数の宣言がなくても変数を使うことができます。その場合、その変数はバリアント型になります。一般にバリアント型はメモリを食います。また、変数の宣言をしておかないと、思わぬところでバグが出たりします。よって、通常は変数の宣言を行っておくようにします。次のようにすモジュールの先頭に記述しておくと、変数の宣言を強制することができます。

Option Explicit ' 変数の宣言を強制する

◆変数を宣言する
 変数を宣言するには、通常 Dimステートメントまたは Privateステートメントを使用します。この場合、その変数の有効範囲はプロシージャ内になります。PublicステートメントまたはGlobalステートメントを使うと、その変数の有効範囲はパブリックになり、ほかのプロシージャーからも参照することができます。

    Dim strMsg As String    ' 文字列型
    Dim i As Integer        ' 整数型
    Dim lLong As Long       ' 長整数型
    Dim start As Single     ' 単精度浮動小数点数型
    Dim finish As Double    ' 倍精度浮動小数点型
    Dim dDate As Date       ' 日付型
    Dim cCurrency As Currency  ' 通過型
    Dim Flag As Boolean     ' ブール型

 次のように asステートメント を使わずに型宣言文字を使って記述することもできます。

    Dim strMsg$             ' 文字列型
    Dim i%                  ' 整数型
    Dim l&                  ' 長整数型
    Dim start!              ' 単精度浮動小数点数型
    Dim finish#             ' 倍精度浮動小数点型
    Dim Money@              ' 通貨型

文字列型は説明の必要もないでしょう。文字数制限も2GBまで扱うことができますから事実上制限なしと覚えておいて差し支えありません。
整数型は -32,768〜32,767の範囲の数値を扱うことができます。よく使うステートメントに次のようなものがあります。

    Dim i As Integer
    
    For i = 1 To 100
        ' 繰り返し行う処理
        Sheets(1).Range("A1").Value = i
    Next i

これに対してLong型は-2,147,483,648〜2,147,483,647の範囲の数値を使うことができます。


▼ページトップへ