我刚刚问了一个关于获取已知列名的列号的问题,答案是.index
我正在尝试返回整个命名表的最后使用的行。如果我使用基于工作表的 .end(xlup) 方法,它将始终停在表的边缘,无论表的底部单元格是否为空。相反,我将其更改为以下内容:
我的代码:
Function TableLastUsedRow(TheTable As ListObject) As Long
Dim RowCount As Long, ColCount As Long, TableLastRow As Long
With TheTable
TableLastRow = .ListRows.count
For ColCount = 1 To .ListColumns.count
If IsEmpty(.DataBodyRange.Cells(TableLastRow, ColCount)) Then
RowCount = .DataBodyRange.Cells(TableLastRow, ColCount).End(xlUp).Row
If TableLastUsedRow < RowCount Then TableLastUsedRow = RowCount
Else
TableLastUsedRow = TableLastRow
Exit Function
End If
Next ColCount
End With
End Function
这对于返回工作表行引用非常有用。 如何获取表格的行号?
更新的代码行
RowCount = .DataBodyRange.Cells(TableLastRow, ColCount).End(xlUp).ListRow.Index
这将产生以下错误:
Excel 表格中最后一个非空白(数据)行的索引
不同的方法 - 只需在行上向后循环