Range.Rows プロパティ (Excel)

指定した範囲の行を表す Range オブジェクトを返します。

構文

expressionRange オブジェクトを表す変数です。

注釈

1 つの行を返すには、 Item プロパティを使用するか、同等のインデックスをかっこで囲みます。 たとえば、 と Selection.Rows.Item(1) の両方Selection.Rows(1)は、選択範囲の最初の行を返します。

複数の選択範囲の Range オブジェクトに適用すると、このプロパティは範囲の最初の領域からのみ行を返します。 たとえば、 Range オブジェクト someRange に 2 つの領域 (A1:B2 と C3:D4) がある場合、someRange.Rows.Count 4 ではなく 2 が返されます。 複数のセル範囲を選択している可能性があるときは、このプロパティを使用する前に Areas.Count を実行し、範囲に複数の領域が含まれているかどうかを確認します。 複数の領域が含まれている場合は、3 番目の例のようにセル範囲の領域ごとにループします。

返される範囲は、指定された範囲の外であることがあります。 たとえば、Range("A1:B2").Rows(5) はセル A5:B5 を返します。 詳細については、Item プロパティに関する ページ を参照してください。

オブジェクト修飾子を指定せずに Rows プロパティを使用することは、 ActiveSheet.Rows の使用と同じです。 詳細については、 Worksheet.Rows プロパティを参照してください。

次の使用例は、作業中のブックの Sheet1 の範囲 B4:Z4 を削除します。

Worksheets("Sheet1").Range("B2:Z44").Rows(3).Delete

次の使用例は、作業中のブックのワークシート 1 の現在の領域の行を削除します。ここで、行のセル 1 の値は、前の行のセル 1 の値と同じです。

For Each rw In Worksheets(1).Cells(1, 1).CurrentRegion.Rows
   this = rw.Cells(1, 1).Value 
   If this = last Then rw.Delete 
   last = this 
Next

次の使用例は、シート 1 の選択範囲の行数を表示します。 複数の領域が選択されている場合は、領域ごとにループします。

Public Sub ShowNumberOfRowsInSheet1Selection
   Worksheets("Sheet1").Activate 
   
   Dim selectedRange As Excel.Range
   Set selectedRange = Selection
   
   Dim areaCount As Long
   areaCount = Selection.Areas.Count 
   
   If areaCount <= 1 Then 
      MsgBox "The selection contains " & _ 
             Selection.Rows.Count & " rows." 
   Else 
      Dim areaIndex As Long
      areaIndex = 1 
      For Each area In Selection.Areas 
         MsgBox "Area " & areaIndex & " of the selection contains " & _ 
                area.Rows.Count & " rows." 
         areaIndex = areaIndex + 1 
      Next 
   End If
End Sub

サポートとフィードバック

Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。