找到列中的最后一个非空单元格
在此示例中,我们将查看用于返回数据集的列中的最后一个非空行的方法。
无论数据集中的空区域如何,此方法都将起作用。
但是,如果**涉及***合并的单元格,****则应该谨慎使用 ***** ,因为 End
方法将针对合并区域“停止”,返回合并区域的第一个单元格。
此外,不会考虑隐藏行中的非空单元格。
Sub FindingLastRow()
Dim wS As Worksheet, LastRow As Long
Set wS = ThisWorkbook.Worksheets("Sheet1")
'Here we look in Column A
LastRow = wS.Cells(wS.Rows.Count, "A").End(xlUp).Row
Debug.Print LastRow
End Sub
为解决上述限制,行:
LastRow = wS.Cells(wS.Rows.Count, "A")
.End(xlUp).Row
可以替换为:
-
最后一行使用了
Sheet1
:
LastRow = wS.UsedRange.Row - 1 + wS.UsedRange.Rows.Count
。 -
对于
Sheet1
中列A
的最后一个非空单元格:Dim i As Long For i = LastRow To 1 Step -1 If Not (IsEmpty(Cells(i, 1))) Then Exit For Next i LastRow = i