今回は変数に、文字列や数値だけでなく、シートやセル番地(セル範囲)などのオブジェクトも代入する使い方についてご紹介します。
変数にシート名とセル番地(セル範囲)を代入
シートを代入するための変数を宣言する場合、
Dim 変数名 As Object
または、
Dim 変数名 As Worksheet
のようになります。
またセル番地(セル範囲)を代入するための変数を宣言する場合、
Dim 変数名 As Object
または、
Dim 変数名 As range
のようになります。
どちらもObjectを使うことができますが、シートはWorksheet、セルはrangeを指定した方が後で見た時に分かりやすいかもしれません。
(この辺りはお好みで良いかと思われます)
下記のサンプル1はObjectで変数を宣言し、サンプル2はWorksheetとrangeを使って変数を宣言し、それぞれ「シート」という名前を付けたシートのセルA1に文字列「A1」、セルA2に文字列「A2」を入力したサンプルになります。
・サンプル1
Sub 変数にシート名とセル番地を代入1() Dim sh As Object ‘シート名を格納するための変数 Set sh = Worksheets(“シート”) ‘シート名を変数に格納 Rng.Value = “A1” ‘指定したシートのセルに「A1」と入力 End Sub |
サンプル2
Sub 変数にシート名とセル番地を代入2() Dim sh As Worksheet ‘シート名を格納するための変数 Set sh = Worksheets(“シート”) ‘シート名を変数に格納 Rng.Value = “A1” ‘指定したシートのセルに「A1」と入力 End Sub |