VBA:如何在excel工作表中查找包含数据的最后一行,即使它是隐藏的?
编辑:问题行不仅被隐藏,而且被过滤 我试图在excel工作表的最后一行中找到一个包含数据的表。一切正常,除非最后一行包含的数据被过滤器隐藏。然后,我将始终获取最后一行未隐藏的数据。我尝试了以下方法:VBA:如何在excel工作表中查找包含数据的最后一行,即使它是隐藏的?,vba,excel,Vba,Excel,编辑:问题行不仅被隐藏,而且被过滤 我试图在excel工作表的最后一行中找到一个包含数据的表。一切正常,除非最后一行包含的数据被过滤器隐藏。然后,我将始终获取最后一行未隐藏的数据。我尝试了以下方法: WorkSheet.Cells(WorkSheet.Rows.Count, 1).End(xlUp).row 以及: 还尝试了LookIn:=xlValues 但同样的结果 这是一种不必取消隐藏/取消筛选工作表中所有行的方法吗?您可以使用worksheet.UsedRange。但这会给您一个水印值
WorkSheet.Cells(WorkSheet.Rows.Count, 1).End(xlUp).row
以及:
还尝试了LookIn:=xlValues
但同样的结果
这是一种不必取消隐藏/取消筛选工作表中所有行的方法吗?您可以使用worksheet.UsedRange。但这会给您一个水印值,如果您展开然后收缩工作簿,那么UsedRange不会相应收缩。考虑:
Sub FindLastPopulatedRow()
Dim r As Range, roww As Long
Dim wf As WorksheetFunction
Set wf = Application.WorksheetFunction
For Each r In ActiveSheet.UsedRange
If Not IsEmpty(r) Then
roww = r.Row
End If
Next
MsgBox roww
End Sub
注
如果你想要快速、快速、敏捷、狡猾、敏捷的东西,那就想想别的吧! 为什么第二个不起作用?它们是隐藏的还是已过滤的?抱歉,已过滤,我正在编辑
Sub FindLastPopulatedRow()
Dim r As Range, roww As Long
Dim wf As WorksheetFunction
Set wf = Application.WorksheetFunction
For Each r In ActiveSheet.UsedRange
If Not IsEmpty(r) Then
roww = r.Row
End If
Next
MsgBox roww
End Sub