因此,我正在VBA中編寫一個代碼,用於打開文檔中的所有文件並複製和粘貼來自每個文檔的信息。代碼設置爲打開每個文檔,但本身。我的困境是,我希望代碼打開在主文件被修改的最後一天之後修改過的文檔。基本上我想比較兩個日期,一個日期保持不變,另一個日期在每個循環之後更改(每個循環都有一個新文檔)。我的代碼如下,任何幫助或建議將不勝感激。謝謝!在VBA中修改比較文件的日期
Sub LoopThroughDirectory()
Dim MyFile As String
Dim erow
Dim Filepath As String
Dim DateMaster As Date
Dim DateReflections As Date
Filepath = "Path of folder where all the documents are"
MyFile = Dir(Filepath)
DateReflections = FileDateTime(Filepath)
DateMaster = FileDateTime("Filepath of master document I'm comparing to")
Do While Len(MyFile) > 0
If MyFile = "zmasterfile.xlsm" Then
Exit Sub
If DateReflections < DateMaster Then
Exit Sub
End If
Workbooks.Open (Filepath & MyFile)
Range("B4:N4").Copy
ActiveWorkbook.Close
erow = Sheet1.Cells(Rows.Count, 2).End(xlUp).Offset(1, 0).Row
ActiveSheet.Paste Destination:=Worksheets("Reflections").Range(Cells(erow, 2), Cells(erow, 14))
MyFile = Dir
Loop
End Sub
好的建議更換您的
Exit Sub
s到重構 –