VBA講座:WorkSheetsとSheetsの違い




たった1秒で仕事が片づく Excel自動化の教科書

『たった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セミナー



記事一覧に戻る

法人向けExcelオンライン研修

利用人数無制限・個別サポート付きのExcelオンライン研修です。

すごい改善のExcelセミナー

1日完結・実務直結・無期限サポートつきのExcelセミナー開催中

累計40万部突破のExcel教科書

Excel関数Tシャツ等のご購入はこちら