要点まとめ
1. オブジェクト型を使った変数宣言
WorksheetやRangeといったオブジェクトも、通常のデータ型(Integer, String など)と同様に、変数宣言でデータ型として指定できる。
- 例:
Dim ws As Worksheet
Dim r As Range
VB- また、
Object型として宣言すると、あらゆる種類のオブジェクトを代入可能。 - さらに、
Variant型やデータ型指定なしでもオブジェクトを扱える(ただし型安全性は落ちる)。
2. オブジェクト変数への代入には Set キーワードが必須
- 通常の数値型や文字列型の変数には、単に
=を使って代入できる。
例:
num = 10
VB- しかしオブジェクト型の変数にオブジェクトを代入する場合は、必ず
Set文 を使わなければならない。
例:
Set r = Range("B2")
VBSetを省略してただr = Range("B2")と書くと、「オブジェクト変数または With ブロック変数が設定されていません」というエラーが発生する。
3. Let文との違い
- 数値や文字列型の代入では、本来は
Let文を使う形式があるが、通常は省略される。
例:
Let num = 20
VB- ただし
Set文は省略できないため、オブジェクト代入時は必ず明示的にSetを使う必要がある。
