今回は、シートの選択方法についてご説明します。複数のシートを扱う際にはシートを選択して作業対象を明確にしておくことがとても重要です。それでは基本的なコードの書き方について確認していきましょう。

シートの選択

まずSheet()で対象となるシートを選択し、Selectメソッドで選択を行います。
<コード>

Sheets("Sheet3").Select
MsgBox "Sheet3を選択しました。"

<実行例>
【VBA入門】シートを選択する方法

インデックス番号で選択

ブック内のシートに左から順に1・2・3・・・という風に振られているインデックス番号を使って、シートを選択することもできます。
<コード>

Sheets(2).Select
MsgBox "2番目のシートを選択しました。"

<実行例>
【VBA入門】シートを選択する方法

複数のシートを選択

Selectにより複数のシートを選択することができます。今回の例で使用するArrayは配列という意味で、複数のオブジェクトを扱うことができます。Array()のカッコ内に選択したいシート名を””で囲み、カンマ区切りで入力してシートを指定します。
<コード>

Sheets(Array("Sheet1", "Sheet3")).Select
MsgBox "Sheet1とSheet3を選択しました。"

<実行例>
【VBA入門】シートを選択する方法

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を選択することは不可'

<実行例>
【VBA入門】シートを選択する方法

まとめ

シートの選択はSelectで行います。Activateと非常によく似ており、どちらも作業対象を指定したいときに使用できます。しかし、それぞれの特徴を理解していないとエラーの原因となるため注意しましょう。