1.変数
変数とは数値や文字列などを一時的にメモリに記憶して名前をつけたものです。
メモリの番地を直接指定してプログラムするのは現実的ではありませんので、
変数名を使ってプログラムします。
変数は宣言してから使うのが一般的です。
変数の宣言には”Dim”(Dimention:次元の略、以前は配列に対してのみ宣言していたものが変数芋拡張されたという歴史的経緯がある)を使用します。
1 |
Dim 変数名 |
変数に値を代入するには、”=”(イコール)を使用します。
1 |
変数名 = 値 |
以下は変数の宣言と代入の例文です。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
Sub Sample31() Dim data1 Dim data2 Dim flag data1 = 10 data2 = 8.1 flag = False MsgBox data1 MsgBox data2 MsgBox flag End Sub |
なお、VBAでは変数を宣言しなくてもコードにいきなり変数を記述することができてしまいます。
その場合変数名を書き間違ったとしてもエラーになりません。
そこで、モジュールの先頭に
1 |
Option Explicit |
と入力することを推奨します。
“Explicit”とは「明示的な」という意味で変数宣言を明示的に行いますという意味です。
2.データ型
宣言した変数にはデータ型を指定することができます。
データ型とは、変数に格納できるデータの種類のことです。
例えば、数値や文字列と言ったデータの種類です。
詳細はリンクのマイクロソフト社のリファレンスを御覧下さい。
上のプログラムのようにデータ型を指定しない場合、変数は自動的にバリアント型(Variant)になります。
それでは、データの種類を特定しなくてもよいのでは?
という疑問が浮かぶかも知れませんね。
しかし、データ型を指定することにより
1.メモリの容量が節約でき処理も高速化する
2.変数に不用意なデータが入ったときにエラーにしてくれる
というメリットがあります。
そのためデータ型は必ず指定するようにしましょう。
書式は以下のようになります。
1 |
Dim 変数名 As データ型 |
先程のプログラムをデータ型を宣言した形に書き換えると以下のようになります。
1 2 3 4 5 6 7 8 9 |
Sub Sample32() Dim data1 As Integer: data1 = 10 Dim data2 As Double: data2 = 8.1 Dim flag As Boolean: flag = False MsgBox data1 MsgBox data2 MsgBox flag End Sub |
ちなみに、“:”で区切ることで1行で宣言と初期化を済ませることが可能ですので合わせて覚えておきましょう。