【用語集に記載の内容について】
用語集に記載されているメソッドや関数の引数は、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」のメッセージボックスを表示 |
カテゴリ | ベーシック |