複数のシートを一度に選択する

広告

シートを選択する場合、Worksheetオブジェクトに対して「Select」メソッドを実行しますが、複数のワークシートに対してまとめて「Select」メソッドを実行することが出来ます。

Worksheetオブジェクトを取得する際に、Applicationオブジェクトの「Worksheets」プロパティなどを使いますが、今までのサンプルではインデックス番号かワークシート名を1つだけ記述していました。

Worksheets(1).Select
Worksheets("Sheet1").Select

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

Worksheets(Array(1, 2, 3)).Select
Worksheets(Array("Sheet1", "Sheet2", "Sheet3")).Select

このようにArray関数を使ってインデックス番号又はシート名を複数指定することで、複数のワークシートを対象とすることが出来ます。(Array関数については『Array関数で一度に値を格納する』を参照して下さい)。

サンプルプログラム

では簡単なサンプルで試してみましょう。

testsheet5.bas

Sub テスト()

    Worksheets(Array(1, 3)).Select
    
End Sub

上記マクロを実行すると次のようになります。

複数のシートを一度に指定して選択する

左から1枚目と3枚目のシートを一度に選択しています。

Excel VBA入門の他の記事を見てみる

( Written by Tatsuo Ikura )