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学習法診断
  • 100の極意マスター講座
  • Excelショートカットマスター
  • おすすめショートカット一覧・壁紙ダウンロード
  • オリジナルExcelグッズ
  • Twitter:吉田 拳@Excelすごい改善社長
  • Excelで業務効率化を実現!
  • Excelで業務効率化を実現!
  • 約1万人の業務効率を劇的に改善!Excel速技BEST100
  • 資金繰り予報士 こがねむしクラブ