OfficeType

VBA~ワークシートを指定しよう~Excel

シート名で指定

シートをシート名で指定するときはWorksheets("シート名")またはSheets("シート名")で指定できます。下のコードを実行するとSheet1とSheet2のセルA1に1が入力されます。

Sub test1()
Worksheets("Sheet1").Range("A1") = 1
Worksheets("Sheet2").Range("A1") = 1
End Sub

image-01

image-02

インデックス番号で指定

シートをインデックス番号指定する方法もあります。インデックス番号は左のシートから1,2,3・・・となっていてWorksheets(インデックス番号)またはSheets(インデックス番号)で指定できます。下のコードを実行するとSheet1とSheet2のセルA1に1が入力されます。

Sub test2()
Worksheets(1).Range("A1") = 1
Worksheets(2).Range("A1") = 1
End Sub

image-01

image-02

オブジェクト名で指定

シートをオブジェクト名で指定することもできます。プロジェクトエクストプローラーのMicrosoftExcelObjectsフォルダ内にSheet1(Sheet1)のように表示されているものの()の中がエクセルの本画面で表示されているシート名で、()の外がオブジェクト名になります。オブジェクト名を変更したい場合はプロパティウィンドウの(オブジェクト名)から変更できます。オブジェクト名だけで指定できるのでシンプルなコードになりますね。Sheet1のオブジェクト名をデフォルトのSheet1としSheet2とSheet3のオブジェクト名をそれぞれシート2、a等に変更しても指定できます。下のコードを実行すると、エクセル本画面のSheet1,Sheet2,Sheet3のセルA1に1が入力されます。

Sub test3()
Sheet1.Range("A1") = 1
シート2.Range("A1") = 1
a.Range("A1") = 1
End Sub

image-01

image-02

image-03