- Home ›
- Excel VBA入門 ›
- セルの選択 ›
- HERE
セルを選択する
指定のワークシートの中のセルを選択します。選択したい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オブジェクトを作成するには『離れたセルの参照』を参照して下さい。
サンプルプログラム
では簡単なサンプルで試してみましょう。
Sub テスト() Dim range1 As Range Set range1 = Range("A1:B3") range1.Select End Sub
上記マクロを実行すると次のようになります。
( Written by Tatsuo Ikura )