シートをグループ化するには次のようにします。
Sub Sample1() Sheets(Array("Sheet1", "Sheet3")).Select End Sub
これは、Sheet1とSheet3をグループ化する操作をマクロ記録すると生成されるコードです。
このように、シートをグループ化するときは一般的にArray関数を使ってグループ化したいシートの配列を作りますが、次のようなコードでグループ化することも可能です。
Sub Sample2() Sheets("Sheet1").Select Sheets("Sheet3").Select False End Sub
あまり知られていませんが、Selectメソッドには「Replace」という引数を指定できます。引数ReplaceにFalseを指定すると、直前の選択状態を解除しないで、新しいオブジェクトが選択状態になります。つまり、アクティブシートがSheet1の状態で「Sheets("Sheet3").Select False」を実行すると、Sheet1の選択が解除されないでSheet3も選択されるわけです。これは、Sheet1とSheet3をグループ化したのと同じことになります。
ただし、Selectメソッドの引数Replaceは、操作の対象となるオブジェクトによって指定できないケースもあります。残念ながらRangeオブジェクトでは使用できません。グラフやオートシェイプなどを選択するときには使えますが、やはり便利なのはシートのグループ化でしょう。ちなみに、すべてのシートをグループ化するときは「Sheets.Select」でもOKです。
なお、グループ化したシートの操作方法は「現在選択されているシートを操作する」をご覧ください。