shikumika’s diary

日々の事務作業で手間なことを簡単にできる仕組み(自動化、方法など)、困ったことの解決方法を調べた備忘録

【Excel VBA】シートを複数選択する方法(For 文などのループで)

Excel VBAで、シートのインデックス番号で、複数選択する方法。

For 文などのループで、選択したシートを一つずつ処理ではなく、一旦該当するシートを全て選択して処理したいときがあります。

このようなケースでは、Worksheet.Select メソッドのパラメーターでReplaceをFalse に指定すると、現在の選択範囲を拡張するように選択できます。

learn.microsoft.com

VBAサンプル

シートのインデックスの2番目から5番目まで選択する事例

Sub 複数選択()
    開始番号 = 2
    終了番号 = 5

    Worksheets(開始番号).Select '次のループで、既に選択シートを除くため一旦先頭を選択
    For インデックス = 開始番号 To 終了番号
        Worksheets(インデックス).Select Replace:=False
    Next
End Sub

事例の補足説明

注意点は、上記処理の選択前にあるシートも、パラメーターでReplaceをFalseにしていると選択されることになる。

そのため、上記事例ではループの前に、最初のシートを一旦選択している。

 

以上、Excel VBAで、シートのインデックス番号で、複数選択する方法でした。