教えて!ExcelVBA!

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

【ExcelVBA シート操作】シートを選択(Select)するにはどうすればいいの?教えて!

構文

構文は以下の通りです。

Worksheets("シート名").Select

解説

Selectステートメントは、特定のシートをアクティブにし、操作対象として選択するために使用されます。この構文では、指定した「シート名」のシートを選択します。ここで「Worksheets」は、Excelのワークシートを管理するオブジェクトです。

使い方

1.シートを直接指定する方法

シートを直接指定する方法では、シート名を直接指定します。例えば、シート名が「Sheet1」の場合、以下のように記述します。

Worksheets("Sheet1").Select

この方法では、指定したシートがアクティブになり、操作対象として選択されます。

2.変数を使用する方法

変数を使用する方法では、シート名を変数に格納して指定します。例えば、変数「sheetName」にシート名が格納されている場合、以下のように記述します。

Dim sheetName As String
sheetName = "Sheet1"
Worksheets(sheetName).Select

この方法では、変数に格納されたシート名を参照して、対応するシートがアクティブになります。

3.複数のシートを選択する方法

複数のシートを選択する方法では、Array関数を使用してシート名を指定し、配列に格納します。例えば、"Sheet1"、"Sheet2"、"Sheet3"を選択する場合は、以下のように記述します。

Dim sheetArray() As Variant
Set sheetArray = Array("Sheet1", "Sheet2", "Sheet3")
Sheets(sheetArray).Select

この方法では、「Sheet1」「Sheet2」「Sheet3」シートが同時に選択されます。

4.シートを全て選択する方法

シートを全て選択する方法では、シート名を指定しません。

Sheets.Select

この方法では、ブック内の全てのシートが選択されます。

プログラミング例

以下に、具体的なプログラミング例を示します。

(例1)

Sub SelectSheetExample()
    Dim sheetName As String
    sheetName = "Sheet1"
    Worksheets(sheetName).Select
    ' 選択されたシートの操作を行う
    ' ここでは、セルA1に値を設定する例を示します
    Worksheets(sheetName).Range("A1").Value = "Hello, World!"
End Sub

この例では、変数「sheetName」に「Sheet1」というシート名を格納し、そのシートを選択しています。また、選択されたシートで特定の操作を行っています。具体的には、選択されたシートのセルA1に「Hello, World!」という値を設定しています。

(例2)

Sub SelectSheets()
    Dim sheetArray() As Variant
    Set sheetArray = Array("Sheet1", "Sheet2", "Sheet3")
    Sheets(sheetArray).Select
    ' 選択したシートに対する処理を記述する
    ' 例: 選択したセルの値を取得してメッセージボックスに表示する
    Dim selectedSheet As Worksheet
    Set selectedSheet = ActiveSheet
    MsgBox "選択したシート: " & selectedSheet.Name
End Sub

この例では、選択したシートに対して処理を行うために、選択したシートの情報を取得してメッセージボックスに表示しています。ActiveSheetオブジェクトを使用することで、選択されたシートを取得できます。

(例3)

Sub SelectAllSheets()
    Sheets.Select
    MsgBox "選択されたシートの数: " & Selection.Count
End Sub

この例では、Sheets.Selectを実行することで全てのシートが選択されます。その後、SelectionオブジェクトのCountプロパティを使って、選択されたシートの数を取得し、メッセージボックスで表示しています。

まとめ

Selectステートメントを使うことで、特定のシートを選択し、操作の対象として指定することができます。シートの選択は基本的な一部ですので、この内容を参考に効率的なデータ処理や自動化を実現してください。