HOME > 即効テクニック > Excel VBA > その他関連のテクニック > VBA最初の一歩(その5)変数と宣言

VBA最初の一歩(その5)変数と宣言|Excel VBA

その他関連のテクニック

VBA最初の一歩(その5)変数と宣言

( - )

■変数とは■

変数とは一言で言えば、”箱”のようなものです。この箱の中にはさまざまなデータを格納することが出来ます。

    X = 10

とすれば、変数Xには数値"10"が格納され・・・

    MyName = "Excel"

とすると、変数MyNameには文字列”Excel”が格納されます。

■変数の宣言と代入■

プログラミングを行う上では、変数にどんなデータを格納するのかを明示するという原則があります。
”どんなデータ”(データの種類)を表すのがデータ型といわれるもので、代表的なデータ型をあげれば・・・

文字列型:String
数値型:Integer,Long,Single,Double・・・
オブジェクト型:Object(総称),Application,Workbook,Worksheet,Range,Shape・・・
バリアント型:Variant(あらゆるデータを格納できます)

などがあります。

宣言をする際には・・・

Dim X As String    '文字列
Dim Y As Integer   '整数型
Dim WB As Workbook 'ブック
Dim Rng As Range   'セル範囲

データの格納には・・・

X = "My Name is Excel"
Y = 10
Z = Y * 2          '他の変数との計算結果を代入

のように、右辺を左辺の変数に代入するという形をとりますが、ブック、シートなどのオブジェクト型の場合は代入の仕方が少し異なり、Set ステートメントというものを用います。

例えば・・・

[ブック]
Set Wb = Workbooks("MyBook.xls")
Set Wb = ActiveWorkbook
[シート]
Set Sh = ActiveWokrbook.Worksheets("Sheet1")
Set Sh = Wb.Worksheets("Sheet1")  'ブックを参照する変数を用いた場合
Set Sh = Worksheets("sheet1")     'シート名による特定
Set Sh = Worksheets(1)            'インデックスによる特定
Set Sh = Sheet1                   'コード名(オブジェクト名)による特定
[セル範囲]
Set Rng = Range("A1:A5")
Set Rng = ActiveSheet.Range("A1:A5")
Set Rng = Sh.Range("A1:A5")       'シートを参照する変数を用いた場合

このようにして、オブジェクトの名称やインデックスなどにより対象を特定し、Setステートメントを用いて変数に格納します(”オブジェトを参照する”といいます)。