今回は、シートの選択方法についてご説明します。複数のシートを扱う際にはシートを選択して作業対象を明確にしておくことがとても重要です。それでは基本的なコードの書き方について確認していきましょう。
シートの選択
まずSheet()で対象となるシートを選択し、Selectメソッドで選択を行います。
<コード>
Sheets("Sheet3").Select MsgBox "Sheet3を選択しました。"
<実行例>
インデックス番号で選択
ブック内のシートに左から順に1・2・3・・・という風に振られているインデックス番号を使って、シートを選択することもできます。
<コード>
Sheets(2).Select MsgBox "2番目のシートを選択しました。"
<実行例>
複数のシートを選択
Selectにより複数のシートを選択することができます。今回の例で使用するArrayは配列という意味で、複数のオブジェクトを扱うことができます。Array()のカッコ内に選択したいシート名を””で囲み、カンマ区切りで入力してシートを指定します。
<コード>
Sheets(Array("Sheet1", "Sheet3")).Select MsgBox "Sheet1とSheet3を選択しました。"
<実行例>
Activateとの違いについて
シートを選択することにより作業対象を指定することができるのでActivateメソッドと非常に似ていますが、Activateはシートを複数扱うことはできません。またSelectでは非表示のシートが選択できないという違いもあります。
<コード(Sheet2を非表示に設定)>
Sheets(Array("Sheet1", "Sheet3")).Activate 'シートを複数アクティブにすることは不可' Sheets(Array("Sheet1", "Sheet3")).Select MsgBox "Sheet1とSheet3を選択しました。" Sheets("Sheet2").Activate MsgBox "Sheet2をアクティブにしています。" ("Sheet2").Select '非表示のSheet2を選択することは不可'
<実行例>
まとめ
シートの選択はSelectで行います。Activateと非常によく似ており、どちらも作業対象を指定したいときに使用できます。しかし、それぞれの特徴を理解していないとエラーの原因となるため注意しましょう。