『たった1秒で仕事が片づくExcel自動化の教科書』(技術評論社)にて、
紙面の都合で書けなかった詳細をこちらで解説します。
■WorkSheetsとSheetsの違い
Sheetsと書いて問題がある場合は、
グラフシートがある場合にForで全シートのA1に値を入れるなどのケースに問題にはなります。
グラフシートにA1セルはないからですね。
Sheets("名前")と書いた場合は一切問題がありません。
この場合はWorksheetsもSheetsでもどちらでもお好きなほうで構いません。
一方、「シートをコピーしてコピーしたシートを一番右側に持ってきたい」という場合は
Sheets("名前").Copy After:=Sheets(Sheets.Count) |
となりますが、この括弧の中シート数の取得ではWorksheetsではなくSheetsとすべきで、
Worksheetsとした場合、グラフシートがあると全シート数ではなくワークシート数のみを取得してしまう、
と言った注意が必要になるというケースも考えられます。
正しくは使い分けが必要になってきますが、どちらかで統一して書くなら通常は問題ありません。
Worksheetsと書く人が多い最大の理由は、
Dim ws As Worksheet Set ws = Worksheets("・・・") |
この場合、型指定でWorksheetと書いているので、型を合わせて書く為です。
(型を合わせる事と、最も小さい型を使うというのが、プログラマーの習性というか慣習です。)
『たった1秒で仕事が片づく Excel自動化の教科書』執筆陣が自ら直接指導。
実務直結・一日集中・受講後無期限サポート付きのマクロVBAセミナー