「Worksheets Sheets 違い」
という検索で、このサイトインストラクターのネタ帳へアクセスがありました。
あれこれ説明を読むよりも、実際にVBA(Visual Basic for Applications)でマクロを作成して、動かしてみるほうがよくわかるはずです。
WorksheetsとSheetsを確認するサンプルマクロ
以下のSubプロシージャを、ワークシートとグラフシートの存在するブックでまずは実行してください。
Dim sh As Object For Each sh In Worksheets
'For Each sh In Sheets
sh.Select
MsgBox sh.name
Next
End Sub
つづいて、
For Each sh In Worksheets
'For Each sh In Sheets
を
'For Each sh In Worksheets
For Each sh In Sheets
に修正してから、もう一度実行してください。
違いは、
For Each sh In Worksheets
を実行したときは、ワークシートだけが順番に選択されて、ワークシートの名前だけがメッセージボックスに表示され、
For Each sh In Sheets
を実行したときは、ワークシートとグラフシートが順番に選択されて、ワークシートとグラフシート両方の名前がメッセージボックスに表示されるという点です。
WorksheetsとSheetsの違いとは
まとめると以下のとおりです。Worksheetsコレクションオブジェクトには
Worksheetオブジェクトだけが含まれ
Sheetsコレクションオブジェクトには
全シートのオブジェクトが含まれる
Sheetsコレクションオブジェクトには、すべてのシートのオブジェクトが含まれるわけですから、厳密には、ワークシートとグラフシート以外のシートも含まれます。
ワークシートとグラフシート以外の、他のシートを挿入してから、先のマクロを実行するとどうなるのかも合わせてご確認ください。
- Newer:RangeでValueを省略するとよくない事例
- Older:コメントの一覧を出力するExcelマクロ
Home » エクセルマクロ・Excel VBAの使い方 » Sheets・Worksheet » WorksheetsとSheetsの違いとは