![見出し画像](https://assets.st-note.com/production/uploads/images/146577866/rectangle_large_type_2_9c92fc8f925ca4c8abac918bc92a759a.jpeg?width=1200)
変数について
Excel VBA の変数は、プログラム内で値を保存するために使用するものです。
変数は、データ型、名前、スコープの3つの要素で構成されます。
データ型
変数のデータ型は、保存できる値の種類を決定します。Excel VBA で使用できる主なデータ型は以下の通りです。
Integer: 整数値を保存します。
Long: 長整数値を保存します。
Currency: 通貨値を保存します。
Single: 単精度浮動小数点数値を保存します。
Double: 倍精度浮動小数点数値を保存します。
String: 文字列を保存します。
Date: 日付値を保存します。
Boolean: 真偽値を保存します。
Variant: さまざまな種類の値を保存できます。
変数のデータ型は、Dim ステートメントで宣言時に指定します。
以下のコード例は、整数変数と文字列変数を宣言するものです。
VBA
Dim intValue As Integer
Dim strValue As String
コードは注意してご使用ください。
2. 名前
変数の名前は、自由に付けることができます。
ただし、以下の規則に従う必要があります。
英数字、アンダースコア(_)、ドル記号($) のみを使用できます。
数字で始まることはできません。
予約語は使用できません。
変数の名前は、わかりやすく付けましょう。
変数の内容を推測しやすい名前を付けることで、プログラムの可読性を向上させることができます。
スコープ
変数のスコープは、変数が有効な範囲を決定します。Excel VBA には、以下の3つのスコープがあります。
ローカル変数: プロシージャまたはモジュール内で宣言された変数です。 そのプロシージャまたはモジュール内でのみ有効です。
モジュールレベル変数: 標準モジュール内で宣言された変数です。
そのモジュール内およびそのモジュールから呼び出されるすべてのプロシージャで使用できます。
グローバル変数: Public ステートメントを使用して宣言された変数です。
ワークブック内のすべてのプロシージャで使用できます。
変数のスコープは、Dim ステートメントで宣言時に指定します。
以下のコード例は、ローカル変数、モジュールレベル変数、グローバル変数を宣言するものです。
VBA
Sub MyProc()
Dim localValue As Integer ' ローカル変数
Dim moduleValue As Integer ' モジュールレベル変数
Public globalValue As Integer ' グローバル変数
End Sub
コードは注意してご使用ください。
変数の使用方法
変数は、代入演算子を使用して値を代入することができます。
以下のコード例は、変数に値を代入するものです。
VBA
Dim intValue As Integer
intValue = 10
Dim strValue As String
strValue = "Hello, world!"
コードは注意してご使用ください。
変数は、式で使用することもできます。
以下のコード例は、変数を使用して計算を行うものです。
VBA
Dim intValue1 As Integer
Dim intValue2 As Integer
Dim sumValue As Integer
intValue1 = 10
intValue2 = 20
sumValue = intValue1 + intValue2
MsgBox sumValue ' 30 と表示されます
コードは注意してご使用ください。
その他
変数は、Option Explicit ステートメントを使用して、すべての変数を宣言する必要があるように強制することができます。
ReDim ステートメントを使用して、変数の配列を宣言することができます。
For Each ステートメントを使用して、配列の各要素を処理することができます。
上記以外にも、Excel VBA の変数に関するさまざまな機能があります。
詳細は、以下のマイクロソフトのドキュメントを参照してください。
この記事が気に入ったらサポートをしてみませんか?