我编写了以下函数来搜索工作表中最后一个可用的空白行。
Function findlastLog_Row() As Integer
Dim i As Integer
i = 1 'start at row 1
Do Until Sheets("Log").Cells(i, 1) = ""
i = i + 1
Loop
findlastLog_Row = i
End Function
任何想法为什么一遍又一遍地循环。它似乎从倒数第二行findlastLog_Row = i
开始。最后一行是返回i
的值。我是否过于简单化了?
答案 0 :(得分:1)
这是你在尝试的吗?
Sub Sample()
Debug.Print findlastLog_Row
End Sub
Function findlastLog_Row() As Long
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("Log")
With ws
findlastLog_Row = .Range("A" & .Rows.Count).End(xlUp).Row
End With
End Function
答案 1 :(得分:0)
尝试将其更改为Sheets(“Log”)。Cells(i,1).Value(因此最后是.Value)。 .Cells()将返回一个Range对象。我不完全确定范围的默认属性是什么,但它可能不是.Value属性。