オブジェクト型変数



オブジェクト変数は値ではなくオブジェクトへの参照を格納した変数です。
オブジェクトとはExcelVBA特有のApplication,Workbook,Worksheet,Range等の操作の対象となるものです。
値を格納する際は"Set"が必要になります

宣言
Dim 変数名 As オブジェクト型変数

代入
Set 変数名 = オブジェクト



例)開いているワークブックのWorksheets(1)のA1セルに文字入力
Option ExplicitSub SampleObj() Dim WB1 As Workbook Dim WS1 As Worksheet Dim Ra1 As Range Set WB1 = ActiveWorkbook Set WS1 = WB1.Worksheets(1) Set Ra1 = WS1.Cells(1, 1) Ra1.Value = "ああああ" End Sub


Set を使用せずに変数に値を入れようとすると
「実行時エラー '91'
オブジェクト変数または With ブロック変数が設定されていません。」
というエラーがでてきます。