更新日:、 作成日:
VBA 行を選択する
はじめに
Excel VBA マクロで行を選択する方法を紹介します。
Rows(2).Select または Range("A2").EntireRow.Select メソッドから、行「2」を選択できます。
Selection から、範囲選択しているセルを取得できます。
行を選択する
行番号で選択
Rows の引数に行番号を指定すると、その行を選択できます。
行「2」を選択するには Rows(2).Select を入力します。
Rows(2).Select ' 2 行目
セル名で選択
Range の引数にセル名を指定すると、そのセルを取得できます。EntireRow からその行を取得できます。
セル「B2」の行を選択するには Range("B2").EntireRow.Select を入力します。
Range("B2").EntireRow.Select
行の範囲を選択
行の範囲「2 ~ 3」を選択するには Range("2:3").Select または Range("2:2", "3:3").Select を入力します。
' 2 ~ 3 行目を選択
Range("2:3").Select
Range("2:2", "3:3").Select
Range(Rows(2), Rows(3)).Select
セルの範囲の行を選択
セルの範囲「A2」~「A3」の行を選択するには Range("A2:A3").EntireRow.Select を入力します。
Dim r As Range
Set r = Range("A2:A3").EntireRow ' A2 ~ A3 の行
r.Select
離れた行を選択
行「1」と「3 ~ 4」を選択するには Range("1:1, 3:4").Select を入力します。
Range("1:1, 3:4").Select
または Union(Range("1:1"), Range("3:4")).Select を入力します。
Union を使用すると、指定した 2 つのセルを組み合わせた範囲を取得できます。
Dim r As Range
Set r = Union(Range("1:1"), Range("3:4")) ' 1 行目と 3 ~ 4 行目
Set r = Union(r, Range("6:6")) ' 1 行目と 3 ~ 4 行目 と 6 行目
r.Select
スポンサーリンク
選択範囲のセルを取得する
選択しているセルを取得するには Selection を入力します。行を選択しているときは、その範囲のセルを取得します。
Dim c As Range
Set c = Selection
Debug.Print(c.Row)
行の選択を解除する
行の選択を解除する方法はありません。Excel でもそのような操作は存在しません。どこか 1 つのセルを選択します。
Range("A1").Select
別シートの行を選択する
アクティブシートの行だけを選択できます。その他のシートに対して行うとエラーが発生します。
シートを指定するには Worksheets の引数にシート名またはインデックスを指定します。
Sheet1 を指定するには Worksheets("Sheet1") または Worksheets(1) を入力します。
' Sheet1 の行を選択
Worksheets("Sheet1").Activate
Worksheets("Sheet1").Rows(1).Select
Worksheets(1).Activate
Worksheets(1).Rows(1).Select
' Sheet2 の行を選択
Worksheets("Sheet2").Activate
Worksheets("Sheet2").Rows(1).Select
Worksheets(2).Activate
Worksheets(2).Rows(1).Select
Sheet1 に Rows を入力すると、自身のシートの行になります。自身を表す Me. が省略されています。
' どちらも同じコード
Dim r As Range
Set r = Rows(1)
Set r = Me.Rows(1)
標準モジュールに Rows を入力すると、開いているシートの行になります。アクティブシートを表す ActiveSheet. が省略されています。
' どちらも同じコード
Dim r As Range
Set r = Rows(1)
Set r = ActiveSheet.Rows(1)
スポンサーリンク