找到列中的最後一個非空單元格
在此示例中,我們將檢視用於返回資料集的列中的最後一個非空行的方法。
無論資料集中的空區域如何,此方法都將起作用。
但是,如果**涉及***合併的單元格,****則應該謹慎使用 ***** ,因為 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