目的
VBAの変数について理解する
VBAの変数の概要と利用方法
変数ってなんだ?(概要)
「変数」は、「プログラミングで利用する値やオブジェクト」を呼び出すための「名前」です。変数は呼び出す値やオブジェクトへの結びつきを変更する(値を入れ替える)ことができます。
似たようなものに「定数」がありますが、「定数」は呼び出すものを変更できません。このため決まった値のための「名前」として利用されます。
変数の使い方
手順
- 宣言
- 名前をつける
- 型を指定する
❶「宣言」
Dim と書けば変数の利用を宣言することができます。
![](https://howahowablog.com/wp-content/uploads/2022/09/整数を入れるもの-浮動少数点数型を入れるもの-文字列をいれるもの-通貨型-日付型-オブジェクト型-バリアント型のコピーのコピー-1-1024x576.png)
❷「名前」をつける
Dimと宣言をしたら、次は変数の名前を指定します。名前付けにはルールがありますが、基本的に自由に指定できます。
- 変数名の最初の一文字目は「文字」を使用する
- スペースは利用できない(文字と文字の間を開けない)
- 長さは半角英数字で255文字まで(2文字目以降で数字とアンダースコアが利用可能)
- Excelで使用されている関数やVBAで利用されているメソッドや構文等の単語は変数名に利用できない
下の図の赤枠は上のリストにあるルールからNGになる例です。
![](https://howahowablog.com/wp-content/uploads/2022/09/VBA変数宣言NG集-2-1024x576.png)
❸型を指定する
名前を指定したら、次は「データ型」を指定します。「データ型」の指定には「As」を使用します。「データ型」はデータの種類のことで次のものがあります。
扱う方の種類 | 大きさ | データ型 |
整数を扱うもの | 小(1バイト)=(0~255) | Byte |
中(2バイト)=(-32,768~32767) | Integer | |
大(4バイト) =(-2,147,483,648~2,147,483,647) | Long | |
浮動小数を扱うもの | 小(4バイト) | Single |
大(8バイト) | Double | |
通貨を扱うもの | (8バイト) | Currency |
日付を扱うもの | (8バイト) | Date |
文字列を扱うもの | (文字列の長さ分) | String |
真偽値を扱うもの | (2バイト) | Boolean |
オブジェクトを扱うもの | (4バイト) | Object |
何でも入る型を扱うもの | (数値:16バイト) (文字列:文字列の長さ分) | Variant |
上図について
- バイト数は覚える必要はありませんが大小関係は把握しておくと便利です。
- 数値の範囲は覚える必要はありませんが大体の数を把握しておくと便利です。
![](https://howahowablog.com/wp-content/uploads/2022/09/VBA型の種類-1024x576.png)
オブジェクト型や、表にない固有オブジェクト型については「ExcelVBAの変数 Part.2」で取り上げています。
変数宣言を強制させる
宣言をしない変数の利用
変数はDimを使って宣言をしなくても利用ができます。しかし変数がどの型を利用しているか、分かりづらくなってしまいます。
![](https://howahowablog.com/wp-content/uploads/2022/09/変数の宣言強制1-1024x576.png)
変数の型の確認
プログラミング言語には基本的に型を調べる関数が準備されています。VBAでは変数の型を確認する方法としてVarType関数があります。
サンプルプロシージャ1
Sub variablePra()
varSample1 = "samlpe"
MsgBox VarType(varSample1)
varSample2 = 555
MsgBox VarType(varSample2)
MsgBox VarType(varSample3)
End Sub
実行結果
varSample1の型は「8」(String型)となっています。
![](https://howahowablog.com/wp-content/uploads/2022/09/変数の宣言強制2.png)
varSample2の型は「2」(Integer型)となっています。
![](https://howahowablog.com/wp-content/uploads/2022/09/変数の宣言強制3.png)
varSample3の型は「0」(Variant型)となっています。
変数を宣言しない(型を指定していない)場合はVariant型となります。
![](https://howahowablog.com/wp-content/uploads/2022/09/変数の宣言強制4.png)
上で示した「図1:データ型の種類」のすべての値を確認すると以下のようになります。
サンプルプロシージャ2
Sub variablePra2()
Dim Type_byte As Byte
Dim Type_integer As Integer
Dim Type_long As Long
Dim Type_single As Single
Dim Type_double As Double
Dim Type_currency As Currency
Dim Type_date As Date
Dim Type_string As String
Dim Type_boolean As Boolean
Dim Type_object As Object
Dim Type_variant As Variant
MsgBox "Type_byte:" & Chr(9) & VarType(Type_byte) & Chr(10) & _
"Type_integer:" & Chr(9) & VarType(Type_integer) & Chr(10) & _
"Type_long:" & Chr(9) & VarType(Type_long) & Chr(10) & _
"Type_single:" & Chr(9) & VarType(Type_single) & Chr(10) & _
"Type_double:" & Chr(9) & VarType(Type_double) & Chr(10) & _
"Type_currency:" & Chr(9) & VarType(Type_currency) & Chr(10) & _
"Type_date:" & Chr(9) & VarType(Type_date) & Chr(10) & _
"Type_string:" & Chr(9) & VarType(Type_string) & Chr(10) & _
"Type_boolean:" & Chr(9) & VarType(Type_boolean) & Chr(10) & _
"Type_object:" & Chr(9) & VarType(Type_object) & Chr(10) & _
"Type_variant:" & Chr(9) & VarType(Type_variant) & Chr(10)
End Sub
実行結果
![](https://howahowablog.com/wp-content/uploads/2022/09/変数の宣言強制5.png)
宣言の強制
プログラムを行う前に宣言を強制させる設定がVBAにはあります。強制させることで無駄な変数が作成されるデメリットをなくせたり、管理がしやすくなります。
設定方法
「ツール」の「オプション」を選択
![](https://howahowablog.com/wp-content/uploads/2022/09/変数の宣言強制6.png)
ダイアログボックスにある「変数の宣言を強制する」にチェックを入れます。
![](https://howahowablog.com/wp-content/uploads/2022/09/変数の宣言強制7.png)
これで変数の宣言を強制することができます。
新しい「標準モジュール」を作成して確認してみます。
![](https://howahowablog.com/wp-content/uploads/2022/09/変数の宣言強制8.png)
新しく作成したModule4に「Option Explicit」と記述されています。これが変数の利用時に宣言を強制する設定となります。
![](https://howahowablog.com/wp-content/uploads/2022/09/変数の宣言強制9.png)
試しに宣言無しで変数を利用してみます。
この記事で最初に利用した変数宣言なしのプログラムを、宣言の強制を設定したモジュールで利用してみます。
![](https://howahowablog.com/wp-content/uploads/2022/09/変数の宣言強制10.png)
実行結果はコンパイルエラーとなります。これで変数の宣言が必要になったことが分かります。
![](https://howahowablog.com/wp-content/uploads/2022/09/変数の宣言強制11.png)
今回は以上となります。
![](https://howahowablog.com/wp-content/uploads/2022/09/EXCEL-VBA-おすすめ書籍5選-320x180.jpg)
ブックマークのすすめ
「ほわほわぶろぐ」を常に検索するのが面倒だという方はブックマークをお勧めします。ブックマークの設定は別記事にて掲載しています。
![](https://howahowablog.com/wp-content/uploads/2022/04/Google-Chrome-:ブックマー-Microsoft-Edge:お気に入り-登録・削除方法-320x180.jpg)
![](https://howahowablog.com/wp-content/uploads/2022/12/パソコン選び-320x180.jpg)