HOME > VBAサンプル集 > シートの複数選択

シートの複数選択

 次はエクセルVBAで複数のシートを選択するコードです。シートの名称は一般的な、「Sheet1」「Sheet2」「Sheet3」です。

下記の場合はArray関数を用いてシート名を配列として指定しています。

・シート名を指定して選択
Sub sample001()
   Sheets(Array("Sheet1", "Sheet2", "Sheet3")).Select
End Sub

 次に選択するシート名がわからない場合です。下記コードを入力すると全シートを選択することができます。

・全シートを選択
Sub sample002()
   Sheets.Select
End Sub

 シートの順番が決まっている場合はArray関数を使用して「1番目と3番目を選択する」こともできます。

・任意のシートを選択
Sub sample003()
   Worksheets(Array(1, 3)).Select
End Sub

 次はアクティブシートから右側すべてを選択するコードです。

・アクティブシートから右側すべてを選択
Sub sample004()
   Dim i As Long
   For i = ActiveSheet.Index To Sheets.Count
   Sheets(i).Select Replace:=False
   Next i
End Sub

 最後にシートの名称をすべて配列に格納し、「売上〜」から始まるシートだけ選択するコードを表示します。

・「売上〜」から始まるシートだけ選択
Sub Sample005()
   Dim MySheet As Worksheet
   Dim My_SheetName() As String
   Dim i As Long


'動的な配列を初期化。
   ReDim My_SheetName(0)
   For Each MySheet In ThisWorkbook.Worksheets


   If MySheet.Name Like "売上*" Then
     ReDim Preserve My_SheetName(i)
     My_SheetName(i) = MySheet.Name
     i = i + 1
   End If


   Next MySheet


'指定したシート名称があるか確認。
   If My_SheetName(0) = "" Then Exit Sub


'シート名を格納した配列変数を指定して選択する。
   Worksheets(My_SheetName).Select
End Sub

エクセル職人        VBAサンプル集目次

▲TOPへ移動