VBA~ワークシートを指定しよう~Excel
シート名で指定
シートをシート名で指定するときはWorksheets("シート名")またはSheets("シート名")で指定できます。下のコードを実行するとSheet1とSheet2のセルA1に1が入力されます。
Sub test1() Worksheets("Sheet1").Range("A1") = 1 Worksheets("Sheet2").Range("A1") = 1 End Sub
インデックス番号で指定
シートをインデックス番号指定する方法もあります。インデックス番号は左のシートから1,2,3・・・となっていてWorksheets(インデックス番号)またはSheets(インデックス番号)で指定できます。下のコードを実行するとSheet1とSheet2のセルA1に1が入力されます。
Sub test2() Worksheets(1).Range("A1") = 1 Worksheets(2).Range("A1") = 1 End Sub
オブジェクト名で指定
シートをオブジェクト名で指定することもできます。プロジェクトエクストプローラーの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