Range.Rows property (Excel)

Returns a Range object that represents the rows in the specified range.



expression A variable that represents a Range object.


To return a single row, use the Item property or equivalently include an index in parentheses. For example, both Selection.Rows(1) and Selection.Rows.Item(1) return the first row of the selection.

When applied to a Range object that is a multiple selection, this property returns rows from only the first area of the range. For example, if the Range object someRange has two areas—A1:B2 and C3:D4—,someRange.Rows.Count returns 2, not 4. To use this property on a range that may contain a multiple selection, test Areas.Count to determine whether the range is a multiple selection. If it is, loop over each area in the range, as shown in the third example.

The returned range might be outside the specified range. For example, Range("A1:B2").Rows(5) returns cells A5:B5. For more information, see the Item property.

Using the Rows property without an object qualifier is equivalent to using ActiveSheet.Rows. For more information, see the Worksheet.Rows property.


This example deletes the range B4:Z4 on Sheet1 of the active workbook.


This example deletes rows in the current region on worksheet one of the active workbook where the value of cell one in the row is the same as the value of cell one in the previous row.

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 

This example displays the number of rows in the selection on Sheet1. If more than one area is selected, the example loops through each area.

Public Sub ShowNumberOfRowsInSheet1Selection
   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." 
      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 
   End If
End Sub

Support and feedback

Have questions or feedback about Office VBA or this documentation? Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.