複数のシートを同時に選択するには、Array関数を使用した配列で指定します。指定方法には、「シート名で指定する方法」と「インデックス番号を使用して指定する方法」の2パターンがあります。この複数のシートを選択する方法について紹介します。
構文
記述方法は以下の通りとなります。
Sheets(Array(”[シート名]”,”[シート名]”)).Select
Sheets(Array([インデックス番号],[インデックス番号])).Select
[説明]:
複数のシートを選択したい場合はArray関数を使用し、
・Sheets(Array(”[シート名]”,”[シート名]”)).Select
・Sheets(Array([インデックス番号],[インデックス番号])).Select
のいずれかで記述します。
[シート名] | 選択するシート名を記述します。 ※「”」(ダブルクォーテーション)で囲みます。 |
[インデックス番号] | 選択するシートのインデックス番号を記述します。 インデックス番号とは左から数えたシートの番号となります。 例えば、 一番左シートのインデックス番号:1 二番目シートのインデックス番号:2 三番目シートのインデックス番号:3 ・ ・ ・ となります。 |
[記述例]:
Sheets(Array("Sheet2", "Sheet3")).Select
Sheets(Array(2, 3)).Select
使い方
使い方について具体的に説明します。
Array関数を使用したシート名を指定する場合の記述方法
シート名を指定する場合の記述方法について説明します。
[プログラミング例]:
Sub サンプル()
Sheets(Array("Sheet2", "Sheet3")).Select
End Sub
内容は、「Sheet2及びSheet3シートを選択して下さい。」との意味になります。
※上記のプログラミング例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方についてはこちらを参考にして下さい。
[実行例]:
①<実行>ボタンはSheet1シートに登録されており、上記のプログラミング例のプログラムが登録されています。この<実行>ボタンをクリックします。(※ボタンの作り方やボタンにプログラムを割り当てるにはこちらを参考にして下さい。)
②Sheet2及びSheet3シートが選択されます。
[サンプル]:
上記で説明したファイルをダウンロードできます。ご自由にお使い下さい。
シート名を指定する場合の記述方法についての説明は以上です。
Array関数を使用してインデックス番号を指定する場合の記述方法
インデックス番号を指定する場合の記述方法について説明します。
[プログラミング例]:
Sub サンプル()
Sheets(Array(2, 3)).Select
End Sub
内容は、「Sheet2及びSheet3シートを選択して下さい。」との意味になります。
※左から2番目と3番目のシートを選択する為、インデックス番号は2と3になります。
※上記のプログラミング例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方についてはこちらを参考にして下さい。
[実行例]:
①<実行>ボタンはSheet1シートに登録されており、上記のプログラミング例のプログラムが登録されています。この<実行>ボタンをクリックします。(※ボタンの作り方やボタンにプログラムを割り当てるにはこちらを参考にして下さい。)
②Sheet2及びSheet3シートが選択されます。
[サンプル]:
上記で説明したファイルをダウンロードできます。ご自由にお使い下さい。
インデックス番号を指定する場合の記述方法についての説明は以上です。
おわりに
今回は複数のシートを選択する方法について説明しました。上記の説明では、シート名で指定した場合とインデックス番号で指定した場合とで同じ結果となる様に記述してみました。また、類似の内容としてブック内の全てのシートを選択する方法もあります。是非こちらも参考にしてみて下さい。