【VBA】同じ適用範囲内で宣言が重複しています
works_0327
Automation Driver
Excel VBAを記述していると、「ワークシート」オブジェクトを指定することが多々あります。
しかし、ワークシートを指定する方法は2通りの方法があることをご存知でしょうか。
ワークシートの指定方法は次の2通りがあります。
この記事では、この2つの違いについて説明します。
ワークシートを指定するときのコードは、それぞれ次の通りです。
どちらもA1セルに1を挿入しているよ。
1Sub Worksheets()
2 ThisWorkbook.Worksheets("sheet1").cells(1,1) = 1
3End Sub
1Sub Worksheets()
2 ThisWorkbook.Sheets("sheet1").cells(1,1) = 1
3End Sub
まず指定方法を確認する前に、「シート」の種類について解説します。
一般的に、「シート」と言えばワークシートのことを指すことが多いですが、シートは他にも存在します。
例えば、グラフシートもシートの1つです。ワークシートも、グラフシートもそれぞれ「シート」と呼びます。
もうお分かりの方もいるかもしれませんが、WorksheetsとSheetsの違いは次のとおりです。
Worksheetsコレクションの中から、Worksheetsオブジェクトとして指定して操作します。
グラフシートも含むsheetsコレクションの中から、Sheetsオブジェクトとして指定して操作します。
つまり、Worksheetsで指定するとワークシートだけを指定することができ、Sheetsで指定するとグラフシート等を含んだのSheetsオブジェクトを指定することができます。