Excel VBAを始めるうえで、変数という存在に慣れるのは中々苦労する点かもしれないです。
変数には文字列や数値など、様々な値を代入(格納)する事ができ、代入した値をコード内で取得しつつ使用する事ができます。
変数の宣言
変数は、
Dim 変数名 As 型名
で宣言する事ができます。
例えば下記のようなものになります。
Dim 文字列 As String
Dim i As Long
変数に値を代入(格納)する
一度宣言した変数には、様々な値を代入(格納)する事ができます。
下記の例はLongという型(長整数型)の、iという名前の変数を宣言し、変数「i」に100の数値を格納した例になります。
Sub 変数に値を代入() Dim i As Long ’iは変数名、Longは型(長整数型) i = 100 ’変数iに100という数値を代入 MsgBox i ’変数iに代入されている値をメッセージボックスで確認 End Sub |
一度代入(格納)した値を変更する事もでき、下記は変数「i」に一度代入(格納)した100の数値を、200に変更した例です。
Sub 変数の値を変更() Dim i As Long ‘iは変数名、Longは型(長整数型) i = 100 ’変数iに100という数値を代入 i = 200 ’変数iに代入する数値を200に変更 MsgBox i ’変数iに代入されている値をメッセージボックスで確認 End Sub |
変数の型
変数には型というものが存在します。
データ型 | 型名 | 格納できる範囲 |
Integer | 整数型 | -32,768 ~ 32,767 の整数 |
Long | 長整数型 | -2,147,483,648 ~ 2,147,483,647 の整数 |
Single | 単精度浮動小数点数型 | 負の値:約-3.4×10(38乗)~-1.4×10(-45乗) 正の値:約1.4×10(-45乗)~1.8×10(38乗) |
Double | 倍精度浮動小数点数型 | 負の値:約-1.8×10(308乗)~-4.0×10(-324乗) 正の値:約4.9×10(-324乗)~1.8×10(308乗) |
Currency | 通貨型 | -922,337,203,685,477.5808 ~ 922,337,203,685,477.00 |
String | 文字列型 | 文字列 |
Date | 日付型 | 日付:西暦100年1月1日~西暦9999年12月31日 時刻:0:00:00 ~ 23:59:59 |
Boolean | ブール型 | 真 (True) または偽 (False) |
Object | オブジェクト型 | オブジェクト |
Variant | バリアント型 | すべてのデータ |
などですが、個人的な事務仕事上では、Long、String、Object、Variant、Boolean、Doubleくらいの順番(感覚値です)で使う機会が多かったように思います。
型については文字列、数値、オブジェクトなど多岐に渡りますが、一度に覚えようとはせず場数を踏みながら徐々に覚えていくくらいの軽めの気持ちで良いかと思います。(一度に全て覚えるのは中々ツライ、というかあまり意味ないかも・・・)
型の使い方の例としては、下記のようなものがあげられます。
Dim i As Long ’iは変数名、Longは型名(長整数型)
i = 100 ’ 数値(整数)なのでOK
i = “テスト” ’ “テスト”は文字列なのでエラーがでます