オーロラさんの勉強帳

IT企業勤務。データベース、Excel、Excel VBA、ネットワーク、LinuxなどIT関連のことを主に書いていきます。少しでもお役に立てたら幸いです。

【Excel VBA エキスパート ベーシック】変数 part3~変数の宣言、変数への代入~ (VBA入門8)

 

変数の宣言

変数の宣言は「Dim」ステートメントを使って、以下のように記述します。

Dim 変数名 As データ型
※「Dim 変数名」のようにデータ型を省略すると、その変数はバリアント型になります。

 

複数の変数を宣言する場合は、以下のように宣言することができます。

<複数のDimステートメントで宣言する>

Dim cnt As long
Dim buf As String

 

<1つのDimステートメントでまとめて宣言する>

Dim cnt As long, i As long, tmp As String

 

ただし、以下のように記述すると変数A、変数BはVariant型になるので注意しましょう。

Dim A, B, C As Long (A、Bは型が省略されているのでVariant型になる)

 

もし、変数A、B、CをLong型で宣言する場合は、以下のように記述します。

Dim A As Long,B As Long, C As Long

 

あくまでも1つの「Dimステートメント」でまとめて複数の変数を宣言はできますが、それぞれの変数の型を省略するとVariant型となります。

 

 

変数への代入

変数に値(文字列や数値など)を入れることを代入する・格納するといいます。

変数に値を代入するには、「=」を使います。

 

以下は文字列型のsayHelloという変数を宣言し、「こんにちは」という文字列を格納して、メッセージボックスで表示するサンプルコードになります。

Sub sample()

 Dim sayHello As String
 sayHello = "こんにちは"
 MsgBox sayHello

End Sub

 

変数の宣言と代入(:(コロン)を使って1文で書く方法)

「:」を使って、変数の宣言と代入を1文で記述する方法もあります。

Dim 変数名 As データ型:変数名 = 値

 

上記で記載した「こんにちは」を表示するサンプルコードの変数の宣言と代入を1文にしたコードを記載します。

Sub sampleA()

Dim sayHello As String: sayHello = "こんにちは"
MsgBox sayHello

End Sub