4、VBAによるマクロの作成(基礎編)

4−2、変数


変数とは

「変数」とは、ある文字列や数値を格納する箱のようなもので、ここに入れた値はセルに代入したり、計算に利用したりできます。

その箱の名前となる「変数名」は次の決まりにさえ従えば、自由にきめることができます

変数の型

変数には型という定義があって格納するものによって設定します。この型を設定することを変数の型を宣言するといいます。
格納する値と型の関係は以下の通りです。

型名 データ 具体的な値
Byte バイト型 0〜225
Boolean ブール型 真(True)または偽(False)
Integer 整数型 -32768〜32767
Long 長整数型 -2147483648〜2147483647
Single 単精度浮動小数点型 -3.402823E38〜-1.401298E-45
1.401298E-45〜3.402823E38
Double 倍精度浮動小数点型 -1.79769313486232E308〜
-4.94065645841247E-324
4.94065645841247E-324〜
1.79769313486232E308
Currency 通貨型 -922337203685477.5808〜
922337203685477.5807
Date 日付型 100年1月1日〜9999年12月31日
Object オブジェクト型 オブジェクトの参照値
String 文字列型 0〜2GBの文字列
Variant バリアント型 数値、文字、日付けなど任意

変数の宣言

例えば「Moji」という変数を作り、それを文字列用に宣言する場合は以下のように記述します。

Dim Moji As String

変数「Moji」を文字列(String)に設定するという意味です。
そしてこの宣言を記述する場所はその変数が最初にでてくるところより前にあればいいです。また、その変数を複数のマクロで使用する場合は、マクロの外で宣言します。(具体例は下記)

変数を宣言しない場合は、自動的に「バリアント型」として扱われます。

変数の宣言と格納(代入)

※「Example1」の続きになっていますので、あらかじめ「Example1」を実行しておくことをおすすめします。

例2)
変数「Moji」を文字列型、「Goukei」を整数型に宣言し、「Moji」には「合計」を、「Goukei」には国語、数学、英語の合計点を格納します。
次に「Sheet1」のE1に変数「Moji」を、E2に変数「Goukei」をそれぞれ入力します。

Sub Example2()
  
Dim Moji As String
  
Dim Goukei As Integer
  Moji = "合計"
  Goukei = 69+94+42
  Worksheets("Sheet1").Select
  Range("E1") = Moji
  Range("E2") = Goukei
End Sub

記述後、「マクロの実行」から「Example2」を実行してください。

【このコードの解説】

Moji = "合計"
Goukei = 69+94+42

の部分で「Moji」には「合計」という文字が、「Goukei」には69+94+42の計算結果「205」がそれぞれ格納されます。

Range("E1") = Moji
Range("E2") = Goukei

を実行すれば、それぞれE1、E2に「合計」と「205」が出力されるわけです。

+α講座

変数の宣言について、「複数のマクロで使用する場合は、マクロの外で宣言します」と前述しましたが、具体的には以下のように記述します。

Dim Moji As String
Dim
Goukei As Integer

Sub
Example2()
  Moji = "合計"
  Goukei = 69+94+42
  Worksheets("Sheet1").Select
  Range("E1") = Moji
  Range("E2") = Goukei
End Sub

このように記述すれば変数「Moji」と「Goukei」はマクロ「Example2」以外のマクロの中にも使うことができるようになります。(ただし、複数の「モジュールシート」にまたがって使うことはできません。)