OfficeType

VBA~シートをアクティブにしよう~Excel

VBAでシートをアクティブにする方法を解説します。

シート名でアクティブにする

シートをシート名でアクティブにするときはWorksheets("シート名").ActivateまたはSheets("シート名").Activateでアクティブにできます。下のコードを実行するとSheet1とSheet2の順にアクティブになります。

Sub test1()
Worksheets("Sheet1").Activate
Worksheets("Sheet2").Activate
End Sub

image-01

image-02

インデックス番号でアクティブにする

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

Sub test2()
Worksheets(1).Activate
Worksheets(2).Activate
End Sub

image-03

image-04

オブジェクト名でアクティブにする

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

Sub test3()
Sheet1.Activate
シート2.Activate
a.Activate
End Sub

image-05

image-06

image-07