Home » エクセルマクロ・Excel VBAの使い方 » Sheets・Worksheet » Worksheetsで自動メンバー表示されない場合Cellsで使った技を使えない

Worksheetsで自動メンバー表示されない場合Cellsで使った技を使えない

対象:Excel2003, Excel2007, Excel2010, Excel2013

VBA(Visual Basic for Applications)でExcelマクロを作成するようなときに、Cellsプロパティで自動メンバー表示させる方法をご紹介しました。

Worksheetsプロパティで自動メンバー表示されないときには、Cellsプロパティで使った技を使えない

この記事を読んだ方の中には、他の自動メンバー表示されないプロパティでも、この方法が使えると思ってしまう方がいらっしゃるはずです。

例えば、Worksheetsプロパティです。

Worksheets().で自動的に表示されるメンバーは何なのか?

一番左のワークシートは、Worksheetsプロパティを使って「Worksheets(1)」という記述で取得することができます。

しかし、「Worksheets(1).」と入力したときは、「Cells(1, 1).」と記述したときと同じように自動メンバー表示されません。

そのため、プロパティとオブジェクトのことを理解していない場合、Cellsプロパティと同じ方法で自動メンバー表示されると思ってしまうはずです。

そして実際、「worksheets().」といった記述をVBE(Visual Basic Editor)上で行うと、確かに自動メンバー表示が行われるのです。

Worksheetsプロパティで自動メンバー表示されないときには、Cellsプロパティで使った技を使えない

しかし、ここで注意していただきたいのは、その表示されているメンバーの中身です。

[スポンサードリンク]

「worksheets().」という記述で自動的に表示されているメンバーは、本当に必要なメンバーでしょうか?今から入力したいプロパティやメソッドがそこに表示されているでしょうか?

違うはずです。

「worksheets().」といった記述から自動的に表示されるメンバーは、あくまでもWorksheetsコレクションオブジェクトのメンバーです。

Worksheetsプロパティで自動メンバー表示されないときには、Cellsプロパティで使った技を使えない

上図はオブジェクトブラウザで、Worksheetsクラスを選択したところで、右側のメンバーペインに表示されているメンバーが「worksheets().」という記述のときに自動的に表示されていることが確認できます。

Worksheet(1).で表示して欲しいのはWorksheetオブジェクトのメンバーでしょ?

けれども、「Worksheets(1).」という記述で表示して欲しいのはWorksheetオブジェクトのメンバーのはずです。

Worksheetsプロパティで自動メンバー表示されないときには、Cellsプロパティで使った技を使えない

Worksheetオブジェクトを取得するためにWorksheetsプロパティを利用したときには、Cellsプロパティのときにご紹介した方法は使えないのです。

「Worksheets」というのはあくまでもプロパティで、「Worksheets(1)」という記述が、Worksheetsコレクションを使って一つ目のWorksheetオブジェクトを取得している、ということが理解できていない限り、この件は納得できないはずです。

コード上に書かれているのはあくまでもプロパティであって、そのプロパティを使ってオブジェクトを取得しているのだということをまだ理解できていない方は、「Worksheets(1).」のあとに自動メンバー表示されないときに、「cells().」で自動メンバー表示させる方法は使えないということを、まずは知っておいてください。

Cellsプロパティが特殊なため「cells().」でRangeオブジェクトのメンバーを表示できるだけで、他の自動メンバー表示されないプロパティでは、ほとんど使えない技だというということを、知っておいてください。

そもそも、どうして自動メンバー表示されるプロパティと、されないプロパティがあるのかは、別記事でご紹介させていただきます。自動メンバー表示されるものとされないものの違いについての解説記事を公開しました。(2013-01-23 追記)

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » Sheets・Worksheet » Worksheetsで自動メンバー表示されない場合Cellsで使った技を使えない

TrackBack:2

TrackBack URL
自動メンバー表示されるものと、されないものの違い from インストラクターのネタ帳
対象:Visual Basic Editor 自動メンバー表示について、Cellsプロパティの場合「cells().」と引数の指定を後回しにしてやればと...
Cellsプロパティで自動メンバー表示されない理由 from インストラクターのネタ帳
対象:Excel2003, Excel2007, Excel2010, Excel2013 VBA(Visual Basic for Applicati...

Home » エクセルマクロ・Excel VBAの使い方 » Sheets・Worksheet » Worksheetsで自動メンバー表示されない場合Cellsで使った技を使えない

「Sheets・Worksheet」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.