最簡單的做法是將最後一行處理存儲在工作表的名稱集合中。所以當你啓動你的宏時,你會得到最後一行更新。當您的宏完成後,您設置名稱的值。
LASTROW = getLastRow( 「Sheet2的」)
setLastRow 「Sheet2的」
Function getLastRow(SheetName As String) As Long
Dim value As String
On Error Resume Next
value = Worksheets(SheetName).Names("LastRow").RefersTo
getLastRow = CLng(Right(value, Len(value) - 1))
On Error GoTo 0
End Function
Function setLastRow(SheetName As String) As Long
Dim lastRow As Long
With Worksheets(SheetName)
lastRow = .Rows(Rows.Count).End(xlUp).Row
.Names.Add Name:="LastRow", RefersTo:=lastRow, Visible:=False
End With
End Function
你可以跟蹤哪些行已經具有宏更新另一列處理。因此,例如,您更新列A〜B。 marco處理這些信息並在C列中留下標記。這可能是日期時間戳。您可以從最後一行重新開始,並且列C爲空。此外,每行的狀態與工作簿一起保存。 –
@ destination-data是否有可以分配日期數據的excel函數? –
是的。使用'Now()'。 **編輯**這將返回日期。 Excel不標記具有* last updated *屬性的單元格。除非你自己添加這個功能,否則它是不可用的。 –