【用語集に記載の内容について】
用語集に記載されているメソッドや関数の引数は、VBAエキスパート試験の試験範囲に基づいており、すべての引数を網羅しておりません。
また、書式は公式テキストの記載に準じています。
試験範囲外の引数や詳細については、ヘルプ機能やオブジェクトブラウザーをご参照ください。
【コードをコピーして実行する場合の注意】
文字コードの関係上、半角の「¥」は「/」で表示されるため、当サイトでは全角の「¥」で記載しています。当サイトのコードをコピーして実行する場合は、全角の「¥」を半角の「¥」に変換してください。
Sheetsコレクション
| 名称 | Sheetsコレクション |
|---|---|
| 説明 | ブック内のすべてのシートの集合体です。
Excelには、「ワークシート」「グラフシート」「マクロシート」「ダイアログシート」の4種類が存在し、これらすべてのシートがSheetsコレクションに含まれます。
例えば、アクティブブック内にシート「Sheet1」「Sheet2」、グラフシート「Graph1」が存在する場合、すべてSheetsコレクションに含まれます。
Sheetsコレクション内の特定のシートを操作する場合は、Sheetsコレクションにシート名やブック内のシートの位置を表す番号を指定します。
例えば、アクティブブック内のシート「Sheet1」を操作したい場合は、「Sheets("Sheet1")」と記述します。
個々のシートはSheetオブジェクトで表され、「Sheets("Sheet1")」は、シート「Sheet1」というSheetオブジェクトを表します。
【比較】
Worksheetsコレクションは、ブック内のワークシートのみの集合体です。
現在では、Excelの4種類のシートのうち、ワークシート以外はほぼ使用されていないため、現実的には、SheetsコレクションとWorksheetsコレクションを使い分ける必要はほとんどありません。 |
| 書式 |
【個別のシートを指定①】 Sheets(シート名) シート名は「Sheets("Sheet1")」のように、シート名をダブルクォーテーションで囲みます。
【個別のシートを指定②】 Sheets(数値) 数値:シートの位置を表す数値 シートの位置を表す数値は、ブック内で左から順に1から番号が振られ、表示、非表示にかからわず番号が振られます。 この数値は、単にそのシートが「左から何番目にあるか」を示しているに過ぎず、シートの位置が移動すれば番号も変わります。 |
| コード例① |
【個別のシートを指定:シート名】
Sub Macro1()
Sheets("Sheet1").Activate
End Sub
アクティブブックのシート「Sheet1」をアクティブにします。 |
| コード例② |
【個別のシートを指定:シートの位置を表す番号】
Sub Macro1()
Sheets(1).Activate
End Sub
アクティブブックの1番目(左端)のシートをアクティブにします。 |
| コード例③ |
【ブック内の全てのシートを操作】
Sub Macro1()
Dim ws As Object
For Each ws In Sheets
MsgBox ws.Name
Next
End Sub
アクティブブック内の全てのシートの名前をメッセージボックスに表示します。 Sheetsコレクションには4種類のシートが存在し、シート型(Sheet)は存在しないため、変数wsはオブジェクト型で宣言します。 アクティブブック内にワークシート「Sheet1」「Sheet2」、グラフシート「Graph1」が存在する場合、For Each…Nextステートメントは以下のように処理されます。 ws = ワークシート「Sheet1」→ 「Sheet1」のメッセージボックスを表示 ws = ワークシート「Sheet2」→ 「Sheet2」のメッセージボックスを表示 ws = グラフシート「Graph1」→ 「Graph1」のメッセージボックスを表示 |
| カテゴリ | ベーシック |