2018年5月13日シートSheetsコレクションとWorksheetsプロパティの違いワークシートを参照する際に、SheetsコレクションやWorksheetsプロパティを利用します。SheetsとWorksheetsの違いは、Sheetsコレクションはワークシート、グラフシート、マクロシート、ダイアログシートの4種類全てのシートを対象としますが、Worksheetsプロパティはワークシートのみを対象とする点です。多くの場合はワークシートのみのブックが大半だと思われるため、SheetsでもWorksheetsでも同じ結果が得られるとは思いますが、厳密にワークシートのみに限定したい場合はWorksheetsプロパティを利用します。以下の2つのコードはどちらも全シートを参照する関数です。SheetsかWorksheetsかの違いだけです。サンプルコードSheetsコレクションを使ったサンプルコードです。SubWorksheetsプロパティを使ったサンプルコードです。上の2つの関数の違いは4行目のSheetsとWorksheetsのみですが、実行すると結果が異なります。2つの関数を以下のようにグラフシート、ワークシート、マクロシート、ダイアログシートの4種類があるブックを用意します。上の2つの関数をそれぞれ実行すると以下のような結果になります。1つ目(SheetsTest)の結果Graph1(グラフシート)Sheet1Macro1(マクロシート)Dialog1(ダイアログシート)Sheet22つ目(WorksheetsTest)の結果Sheet1Sheet2この結果の通り、Sheetsコレクションはブックに含まれる全てのシートを対象としますが、Worksheetsプロパティはワークシートのみを対象とします。SheetsとWorksheetsのどちらを使った方がよいかワークシートのみのブックの場合はSheetsとWorksheetsのどちらを使っても構いません。4種類のシートがあるブックの場合に、ワークシートのみをマクロで処理する場合はWorksheetsプロパティ、そうでない場合はSheetsコレクション、という分け方になります。私自身はグラフシート、マクロシート、ダイアログシートを使うことが無いことと、将来もまず使わないとわかっているため、Sheetsコレクションを使うことが多いです。キーボードの入力がWorksheetsよりもSheetsと書いた方がラクという点もあります。Excel作業をVBAで効率化シェアお問合わせTOPへ。