簡単な輸出インボイス作成マクロ (9)

IV) 変数 (Variables)

オブジェクト型

オブジェクト型の変数には、ワークブック、ワークシート、セルなどのオブジェクトを格納します。


Dim 変数名 As オブジェクトの種類

オブジェクト型変数にオブジェクトを格納する場合は、「Setステートメント」を使用します。


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

オブジェクト型変数に格納した参照を解放するには、[Nothing]を使用します。


Set 変数名 = Nothing

オブジェクト型には、「固有オブジェクト型」と「総称オブジェクト型」があります。

固有オブジェクト型 (Specific Object Variables)
参照するオブジェクトの種類がわかっている場合には、そのオブジェクトの種類を指定して、オブジェクト変数を宣言します。


Dim 変数名 As Workbook
Dim 変数名 As Worksheet
Dim 変数名 As Range

総称オブジェクト型 (Generic Object Variables)
「総称オブジェクト型」の場合には、すべてのオブジェクトを格納することができますが、実行速度などで、「固有オブジェクト型」に劣るようです。


Dim 変数名 As Object

オブジェクト型変数は、今回の「輸出インボイス作成マクロ」では使用していないのですが、あえて、ご参考のため使用するとすれば、こんな感じでしょうか。

Sub INVOICE1()
   Dim ws As Worksheet
   Set ws=Workbooks("INVOICE.xlsx").Worksheet("SI")   
   '入力
  INVNO = ws.Cells(3, 2).Value
End Sub