Excel VBAで、シートのインデックス番号で、複数選択する方法。
For 文などのループで、選択したシートを一つずつ処理ではなく、一旦該当するシートを全て選択して処理したいときがあります。
このようなケースでは、Worksheet.Select メソッドのパラメーターでReplaceをFalse に指定すると、現在の選択範囲を拡張するように選択できます。
VBAサンプル
シートのインデックスの2番目から5番目まで選択する事例
Sub 複数選択() 開始番号 = 2 終了番号 = 5 Worksheets(開始番号).Select '次のループで、既に選択シートを除くため一旦先頭を選択 For インデックス = 開始番号 To 終了番号 Worksheets(インデックス).Select Replace:=False Next End Sub
事例の補足説明
注意点は、上記処理の選択前にあるシートも、パラメーターでReplaceをFalseにしていると選択されることになる。
そのため、上記事例ではループの前に、最初のシートを一旦選択している。
以上、Excel VBAで、シートのインデックス番号で、複数選択する方法でした。