セルを選択する

広告

指定のワークシートの中のセルを選択します。選択したいRangeオブジェクトに対して「Select」メソッドを使います。

ワークシートを指定しない場合には現在アクティブになっているワークシートが対象となります。

Dim range1 As Range

Set range1 = Range("A1")
range1.Select

まとめて次のように記述しても構いません。

Range("A1").Select

ワークシートを指定してセルを選択する場合には、対象となるワークシートがアクティブになっている必要があります。

Worksheets(2).Range("A1").Select

アクティブでないワークシート内のセルを選択しようとすると次のエラーが表示されます。

「実行時エラー '1004': Range クラスの Select メソッドが失敗しました。」

セルの選択

これは選択しようとしたセルが含まれるシートがアクティブになっていないためです。その為、シートを指定してセルを選択するかわりに、先に選択したいセルが含まれるシートをアクティブにした後で、ワークシートを指定せずにセルを選択するようにしましょう。

Worksheets(2).Activate
Range("A1").Select

※特定のシートをアクティブにする方法は『シートをアクティブにする』を参照して下さい。

またセルを選択すると、それ以前に選択されていたセルは選択が解除されてしまいます。セルを解除せずに追加でセルを選択する方法はないようですので、離れた位置にあるセルを同時に選択する場合には選択したいセルをまとめてRangeオブジェクトを作成して下さい。

※離れた位置にある複数のセルで1つのRangeオブジェクトを作成するには『離れたセルの参照』を参照して下さい。

サンプルプログラム

では簡単なサンプルで試してみましょう。

testcellselect1.bas

Sub テスト()

    Dim range1 As Range
    
    Set range1 = Range("A1:B3")
    range1.Select

End Sub

上記マクロを実行すると次のようになります。

セルの選択

Excel VBA入門の他の記事を見てみる

( Written by Tatsuo Ikura )