たった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と書いているので、型を合わせて書く為です。
(型を合わせる事と、最も小さい型を使うというのが、プログラマーの習性というか慣習です。)