サイトについて      連絡先   検索

VBA 行を選択する

はじめに

Excel VBA マクロの行を選択する方法を紹介します。

Rows.Select メソッドか Range.Select メソッドから行を選択できます。

  • 目次
    • 行を選択する
    • 選択されているセルを取得する
    • 行の選択を解除する
    • 行の範囲を選択する
    • 指定したシートの行を選択する

行を選択する

行番号で選択

Rows の引数に行番号を指定すると、その行を選択できます。

行「2」を選択するには Rows(2).Select のように指定します。


Rows(2).Select  ' 2 行目
1

行をアクティブにするには Activate メソッドを使用します。


Rows(2).Activate
1

行を選択するとき Select と Activate の違いはありません。

セル名で選択

Range.EntireRow を使用すると、指定したセルの行を取得できます。

セル「B2」の行を選択するには Range("B2").EntireRow.Select のように指定します。


Range("B2").EntireRow.Select
2

選択されているセルを取得する

Selection を使用すると、選択されているセルを取得できます。

行が選択されている状態で使用するとその行を取得できます。


Dim c As Range
Set c = Selection
Debug.Print(c.Row)

行の選択を解除する

行の選択を解除する方法はありません。Excel でもそのような操作は存在しません。

行の範囲を選択する

行の範囲を選択

行の範囲「2 ~ 3」を選択するには Range("2:3").Select のように指定します。


Range("2:3").Select ' 2 ~ 3 行目を選択
Range("5:5").Select ' 5 行目を選択
4

離れた行を選択

行「1」と「3」と「5 ~ 6」を選択するには Range("1:1, 3:3, 5:6").Select のように指定します。


Range("1:1, 3:3, 5:6").Select
5

指定したシートの行を選択する

アクティブシートの行だけを選択できます。その他のシートに対して行うとエラーが発生します。

シートを指定するには Worksheets の引数にシート名またはインデックスを指定します。

Sheet1 を指定するにはWorksheets("Sheet1")またはWorksheets(1)を入力します。

sheet1

' 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)
  • 目次
    • 行を選択する
    • 選択されているセルを取得する
    • 行の選択を解除する
    • 行の範囲を選択する
    • 指定したシートの行を選択する