オーロラさんの勉強帳

IT企業勤務。データベース、Excel、Excel VBA、ネットワーク、LinuxなどIT関連のことを主に書いていきます。少しでもお役に立てたら幸いです。

【Excel VBA エキスパート ベーシック】セルの指定part4 ~ワークシートの指定をする~ (VBA入門14)

 

セルを指定する場合の上位オブジェクトの指定 

Range("A1")、Cells(1,1)、Range("A1").CurrentRegionなどでセル・セル範囲を指定・取得する場合、そのセル・セル範囲がどのワークシートのセルで存在するかを指定する必要があります。

※もっと言うと、そのワークシートがどのワークブックに存在するかも指定する必要があります。

 

f:id:auroralights:20201129233201p:plain

f:id:auroralights:20201129233359p:plain

 

しかし、VBAでは上位オブジェクトの指定を省略することが許容されています。そのため、ワークシートを指定しなくても動きます。

省略した場合は、コードを記述したモジュールによってどのワークシートのセルが操作対象になるかちゃんと理解しておく必要があります。

 

以下では、ワークシートオブジェクトを省略した場合について、見ていきましょう。

 

標準モジュールに記述した場合

標準モジュールでワークシートオブジェクトを省略した場合は、アクティブシートが操作対象になります。

 

以下のサンプルコードでは、現在アクティブなワークシートのセルA1に100が代入されます。

f:id:auroralights:20201129234502p:plain

 

シートモジュールに記述した場合

記述したシートモジュールに対応するシートが操作対象になります。

 

以下のサンプルコードでは、Sheet3のセルA1に100が代入されます。

f:id:auroralights:20201129234704p:plain

 

 

オブジェクトの省略については、以下の記事も参考にしていただけたら幸いです。

auroralights.hatenablog.com