Fio*_*ala 45
怎么样:
Function GetLastRow(strSheet, strColumn) As Long
Dim MyRange As Range
Set MyRange = Worksheets(strSheet).Range(strColumn & "1")
GetLastRow = Cells(Rows.Count, MyRange.Column).End(xlUp).Row
End Function
Run Code Online (Sandbox Code Playgroud)
评论
这个
Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
Run Code Online (Sandbox Code Playgroud)
即使最后一行中只有一个单元格有数据,也会返回最后一个单元格的行号.
Jon*_*ier 21
你应该使用.End(xlup)
但不是使用65536你可能想要使用:
sheetvar.Rows.Count
Run Code Online (Sandbox Code Playgroud)
这样它适用于Excel 2007,我相信它有超过65536行
function LastRowIndex(byval w as worksheet, byval col as variant) as long
dim r as range
set r = application.intersect(w.usedrange, w.columns(col))
if not r is nothing then
set r = r.cells(r.cells.count)
if isempty(r.value) then
LastRowIndex = r.end(xlup).row
else
LastRowIndex = r.row
end if
end if
end function
Run Code Online (Sandbox Code Playgroud)
用法:
? LastRowIndex(ActiveSheet, 5)
? LastRowIndex(ActiveSheet, "AI")
Run Code Online (Sandbox Code Playgroud)
小智 7
简单快捷:
Dim lastRow as long
Range("A1").select
lastRow = Cells.Find("*",SearchOrder:=xlByRows,SearchDirection:=xlPrevious).Row
Run Code Online (Sandbox Code Playgroud)
使用示例:
cells(lastRow,1)="Ultima Linha, Last Row. Youpi!!!!"
'or
Range("A" & lastRow).Value = "FIM, THE END"
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
341706 次 |
最近记录: |