VBA~シートをアクティブにしよう~Excel
VBAでシートをアクティブにする方法を解説します。
シート名でアクティブにする
シートをシート名でアクティブにするときはWorksheets("シート名").ActivateまたはSheets("シート名").Activateでアクティブにできます。下のコードを実行するとSheet1とSheet2の順にアクティブになります。
Sub test1() Worksheets("Sheet1").Activate Worksheets("Sheet2").Activate End Sub
インデックス番号でアクティブにする
シートをインデックス番号でアクティブにする方法もあります。インデックス番号は左のシートから1,2,3・・・となっていてWorksheets(インデックス番号)またはSheets(インデックス番号)で指定できます。下のコードを実行するとSheet1とSheet2の順にアクティブになります。
Sub test2() Worksheets(1).Activate Worksheets(2).Activate End Sub
オブジェクト名でアクティブにする
シートをオブジェクト名でアクティブにすることもできます。プロジェクトエクストプローラーのMicrosoftExcelObjectsフォルダ内にSheet1(Sheet1)のように表示されているものの()の中がエクセルの本画面で表示されているシート名で、()の外がオブジェクト名になります。オブジェクト名を変更したい場合はプロパティウィンドウの(オブジェクト名)から変更できます。オブジェクト名だけで指定できるのでシンプルなコードになりますね。Sheet1のオブジェクト名をデフォルトのSheet1としSheet2とSheet3のオブジェクト名をそれぞれシート2、a等に変更しても指定できます。下のコードを実行すると、エクセル本画面のSheet1,Sheet2,Sheet3の順にアクティブになります。
Sub test3() Sheet1.Activate シート2.Activate a.Activate End Sub