Range.Row 属性 (Excel)
返回区域中第一个区域的第一行的行号。 Long 类型,只读。
语法
表达式。行
expression 一个表示 Range 对象的变量。
示例
本示例将 Sheet1 上其他每一行的行高度设置为 4 磅。
For Each rw In Worksheets("Sheet1").Rows
If rw.Row Mod 2 = 0 Then
rw.RowHeight = 4
End If
Next rw
此示例使用 BeforeDoubleClick 工作表事件将数据行从一个工作表复制到另一个工作表。 若要运行此代码,目标工作表的名称必须位于列 A 中。双击包含数据的单元格时,本示例从列 A 获取目标工作表名称,并将整个数据行复制到目标工作表上的下一个可用行中。 此示例使用 Target 关键字访问活动行。
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'If the double click occurs on the header row or an empty cell, exit the macro.
If Target.Row = 1 Then Exit Sub
If Target.Row > ActiveSheet.UsedRange.Rows.Count Then Exit Sub
If Target.Column > ActiveSheet.UsedRange.Columns.Count Then Exit Sub
'Override the default double-click behavior with this function.
Cancel = True
'Declare your variables.
Dim wks As Worksheet, xRow As Long
'If an error occurs, use inline error handling.
On Error Resume Next
'Set the target worksheet as the worksheet whose name is listed in the first cell of the current row.
Set wks = Worksheets(CStr(Cells(Target.Row, 1).Value))
'If there is an error, exit the macro.
If Err > 0 Then
Err.Clear
Exit Sub
'Otherwise, find the next empty row in the target worksheet and copy the data into that row.
Else
xRow = wks.Cells(wks.Rows.Count, 1).End(xlUp).Row + 1
wks.Range(wks.Cells(xRow, 1), wks.Cells(xRow, 7)).Value = _
Range(Cells(Target.Row, 1), Cells(Target.Row, 7)).Value
End If
End Sub
本示例将删除所选区域中的空白行。
Sub Delete_Empty_Rows()
'The range from which to delete the rows.
Dim rnSelection As Range
'Row and count variables used in the deletion process.
Dim lnLastRow As Long
Dim lnRowCount As Long
Dim lnDeletedRows As Long
'Initialize the number of deleted rows.
lnDeletedRows = 0
'Confirm that a range is selected, and that the range is contiguous.
If TypeName(Selection) = "Range" Then
If Selection.Areas.Count = 1 Then
'Initialize the range to what the user has selected, and initialize the count for the upcoming FOR loop.
Set rnSelection = Application.Selection
lnLastRow = rnSelection.Rows.Count
'Start at the bottom row and work up: if the row is empty then
'delete the row and increment the deleted row count.
For lnRowCount = lnLastRow To 1 Step -1
If Application.CountA(rnSelection.Rows(lnRowCount)) = 0 Then
rnSelection.Rows(lnRowCount).Delete
lnDeletedRows = lnDeletedRows + 1
End If
Next lnRowCount
rnSelection.Resize(lnLastRow - lnDeletedRows).Select
Else
MsgBox "Please select only one area.", vbInformation
End If
Else
MsgBox "Please select a range.", vbInformation
End If
'Turn screen updating back on.
Application.ScreenUpdating = True
End Sub
支持和反馈
有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。