教えて!ExcelVBA!

ExcelVBAの基礎知識・書き方について紹介します。

【ExcelVBA シート操作】シートをアクティブ(Activate)にするにはどうすればいいの?教えて!

構文

構文は以下の通りです。

Worksheets("シート名").Activate

解説

この構文では、Activateメソッドを使用して指定したシートをアクティブにします。"シート名"には、アクティブにしたいシートの名前を指定します。

使い方

シートをアクティブにするためには、Worksheetsオブジェクトを使用します。Worksheetsオブジェクトは、Excelのワークシートを操作するためのオブジェクトであり、シートの名前やインデックスを指定して操作することができます。

以下の例では、シート名を指定してActivateメソッドを使用してシートをアクティブにする方法を示します。

Sub ActivateSheet()
    Worksheets("Sheet1").Activate
End Sub

上記の例では、"Sheet1"という名前のシートをアクティブにしています。もちろん、実際のシート名に合わせて適切な名前を指定してください。

プログラミング例

プログラミング例をいくつか紹介します。

プログラム例1:シートを切り替えて処理を行う

以下の例では、複数のシートを順番にアクティブにして処理を行います。

Sub ProcessSheets()
    Dim ws As Worksheet
    For Each ws In ThisWorkbook.Worksheets
        ws.Activate
        ' ここに処理を記述する
    Next ws
End Sub

上記の例では、ThisWorkbook.Worksheetsを使用してワークブック内の全てのシートに対して処理を行います。ループ内でws.Activateを使用して各シートをアクティブにしています。

プログラム例2:条件に応じてシートをアクティブにする

以下の例では、条件に応じて特定のシートをアクティブにします。

Sub ActivateSheetByCondition()
    Dim ws As Worksheet
    For Each ws In ThisWorkbook.Worksheets
        If ws.Name = "Sheet2" Then
            ws.Activate
            Exit For
        End If
    Next ws
End Sub

上記の例では、ループ内で条件文を使用してシート名が"Sheet2"と一致する場合にそのシートをアクティブにし、ループを終了します。

まとめ

Activateメソッドを使用することで、指定したシートをアクティブにすることができます。シート操作は、データの処理や自動化において重要な要素です。Activateメソッドを使いこなすことで、効率的かつ正確なシート操作が可能となります。