Excel VBA セルのActivateの使い方、ActivateとSelectの違い

Excel VBAセルアクティブするには「Activate」メソッドを使います。

< スポンサーリンク >





「Activate」メソッド構文

式.Activate

 

セルをアクティブにする

Sub CellActivateTest1()
    Range(“B3”).Activate
End Sub

cell activate

 

Worksheetオブジェクトを省略した場合は、アクティブなワークシートのセルが対象になります。

ワークシートを指定したい場合は

Sub CellActivateTest2()
    Worksheets(“Sheet2”).Activate
    Worksheets(“Sheet2”).Range(“B5”).Activate
End Sub

先に「Worksheets(“Sheet2”).Activate」を書いていないとエラーになります。

 

ActivateとSelectの違い

ActivateメソッドとSelectメソッドは似たような動作をしますね。

Activateは、実行可能な状態(アクティブ)にするということ。アクティブな状態というのは、ブックやシートだと複数のブックやシートの最前にきますし、セルだと入力可能な状態ですね。なので、「アクティブではないシートのアクティブセル」というのはありえないです。

Selectは、選択するということ。複数のものが選択できますね。

 

Sub CellActivateTest3()
    Range(“B3:D7”).Select
    Range(“C4”).Activate
End Sub

とVBEに記述し実行すると下図のようになります。

SelectでB3~D7を選択し、ActivateでC7をアクティブにした状態です。

cell activate

 

それならば、Activateメソッドを使うときは、1つのものしか指定できないのか・・・というと、そうでもなく・・・

Sub CellActivateTest4()
    Range(“B3:D7”).Activate
End Sub

と記述し実行してみると、下図のようにSelectと同じ動きをしてくれます。

cell activate

Activateメソッドは1つのものしか指定できないのなら、ActivateメソッドとSelectメソッドの違いが理解しやすいんですけどね。

 

 

< スポンサーリンク >