EXCEL VBA - Worksheet の取得と選択

Worksheet の取得

ワークシートを表すオブジェクトは Worksheet オブジェクトです。Worksheet オブジェクトを取得するには、Application オブジェクトまたは、Workbook オブジェクトの Worksheets プロパティを使います。

Worksheets プロパティの引数にはインデックス番号を指定します。インデックス番号はブックに含まれる左のシートから順に 1, 2, 3, ...の順に採番されます。ワークシートの位置を入れ替えたり、追加・削除された場合、インデックス番号が振り直されます。

Dim sheet1 As Worksheet
Set sheet1 = Worksheets(1)
Worksheet オブジェクトの取得

インデックス番号の代わりにワークシート名を Worksheets プロパティの引数に指定することもできます。

Dim sheet1 As Worksheet
Set sheet1 = Worksheets("Sheet1")
Worksheet オブジェクトの取得

ワークシートをアクティブにするには、アクティブにしたい Worksheet オブジェクトに対して Activate メソッドを使用します。

Worksheets(1).Activate
ワークシートをアクティブにする

アクティブなワークシートの Worksheet オブジェクトを取得するには、Application オブジェクト、Window オブジェクト、または Workbook オブジェクトの ActiveSheet プロパティを使用します。

Dim sheet1 As Worksheet
Set sheet1 = ActiveSheet
アクティブシートのオブジェクトの取得

Worksheet の選択

シートを選択するには、選択したい Worksheet オブジェクトに対して Select メソッドを使います。ワークシートを選択するとそれ以前に選択されていたシートは非選択状態となります。

Worksheets(1).Select
ワークシートを選択する

同時に複数のシートを選択する場合には引数 Replace に False を指定します。

Worksheets(1).Select
Worksheets(2).Select Replace:=False
複数のワークシートを選択する

複数のワークシートを対象にする場合、Array 関数を使って複数のインデックス番号やシート名を同時に指定することもできます。

Worksheets(Array(1, 2, 3)).Select
Worksheets(Array("Sheet1", "Sheet2", "Sheet3")).Select
複数のワークシートを選択する

すべてのワークシートを選択するには、Worksheets コレクションに対して Select メソッドを実行します。

Worksheets.Select
すべてのワークシートを選択する

関連記事