Rangeオブジェクトに対してSelectメソッドを利用する際はワークシートがアクティブなっていなければならない

Excel VBA Tips集-4

Rangeオブジェクトにセレクトメソッドを使用する際の注意点

RangeオブジェクトにSelectメソッドを用いる場合、必ずRangeオブジェクトで指定したセルがアクティブになっていなければなりません

例えば「住所録.xlsx」というワークブックがアクティブになっている状況だとします。そのとき、「顧客管理.xlsx」のA1セルを下記のようなコードでSelectするとエラーになります。

間違ったサンプルコード

なぜなら、Selectメソッドは、その親オブジェクトに該当するワークシートがアクティブなときしか利用できないからです。このExcel VBAの仕様はエラーの温床になりがちなので注意しましょう。

上記のコードを正しく動作させるには、明示的に「顧客管理.xlsx」と、そのワークブック内のSheet1をアクティベートする必要があります。

正しいサンプルコード

 

使える!Excel VBA Tips集TOPに戻る

 

[AD]自分のペースでゆったり学ぶ Excel VBA

 

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA