本記事はエクセル2019で動作確認を行っています。

本記事はこのような疑問にお答えします。
まず前提としてエクセルでのシートのオブジェクトについて理解しておきましょう。
1つのブックには表やグラフを扱う「ワークシート」とグラフを表示する「グラフシート」が複数集まって成り立っています。
VBAでは1つ1つのシートやグラフを
ワークシート→Worksheetオブジェクト
グラフシート→Chartオブジェクト
と呼んでいます。
またそれぞれのオブジェクトが集まったものを
Worksheetsコレクション
Chartsコレクション
と呼びます。
さらに、それぞれのコレクションが集まったものを
Sheetsコレクション
と呼びます。
本記事は頻度が高いワークシートについて触れていきます。
Worksheetオブジェクトの記述方法
ワークシートをアクティブにするには、まずWorksheetオブジェクトの記述方法を知っておきましょう。
(式)
オブジェクト.Worksheets(インデックス番号)
オブジェクト.Worksheets(“ワークシート名”)
例としてBook1の左から2つ目のシートの名前が「請求書」だとします。
その場合、上記の式にあてはめると、
Workbooks.("Book1").Worksheets(2)
Workbooks("Book1").Worksheets(“請求書”)
となります。
オブジェクトには対象のブックを記述しますが、省略するとアクティブなブックのシートを参照します。
メモ
SheetsとWorksheetsの違いに気をつけましょう。
Sheetsはすべてのオブジェクトを含みます。
例えばシートの並びが
Sheet1,グラフ1,Sheet2で並んでいる場合、Sheet2の記述方法は
Worksheets(2)
Sheets(3)
のように左から何番目かで変わってきます。
シートをアクティブにする方法
1つのシートを選択するにはActivateメソッドを使用します。
(式)
オブジェクト.Activate
Sub シートの選択() Worksheets("Sheet1").Activate End Sub
複数のシートを選択するにはArray関数とSelectメソッドを使用しましょう。
(式)
オブジェクト.Select
Sub 複数のシート() Worksheets(Array("Sheet1", "Sheet2")).Select End Sub
また、すべてのワークシートを選択したい場合は、
Worksheets.Select
で選択可能です。
Chartオブジェクトもすべて選択したい場合は、
Sheets.Select
と記述すればいいのであわせて覚えておきましょう。
今回はシートのアクティブ方法について見てきました。
シートの範囲を正しく理解して、正しく範囲選択できるようにしておきましょう。
最後まで目を通していただきありがとうございます。