我總是看到這樣人們用它來找到最後一排一列LASTROW在電子表格
lRow = .Range("A" & .Rows.Count).End(xlUp).Row
我一直用這個功能在我的項目找到它,因爲我想最後未使用行,但現在我總是看到人們使用End xlUp方法,我想知道爲什麼,因爲它只給出那個可能不正確的列。
Function GetLastRow(sh As Worksheet) As Long
Dim X As Long
X = sh.UsedRange.Rows.Count 'force excel to recalculate last row
GetLastRow = sh.Cells.SpecialCells(xlLastCell).Row
End Function
是否有任何情況下,此功能未能給出最後一行以及爲什麼會發生?
有時它會給我一行,可能是由於格式化導致的最後一行數據後面可能有多行(導出的報告一般 - 然後我回到工作環境中,以便刪除這些行if完全空白) UsedRange實際考慮使用什麼?
我真的希望我可以在未來
沒有,我打電話X = sh.UsedRange。 Rows.Count函數重新計算使用的範圍,所以這不是一個問題,這個函數適用於我,只是有時剛剛打開一個表,它說空白行不是空白,所以它必須考慮到格式化? – 2014-11-22 11:11:53
如果在其他列中沒有檢查到數據,也會發現單列不準確。 – 2014-11-22 11:15:51