У меня есть код, который открывает последний файл рабочей книги в указанной папке. Проблема в том, что макрос, который я настроил для извлечения информации из этого файла рабочей книги, не будет работать каждую неделю, потому что файл рабочей книги, из которого мне нужна информация, представляет собой еженедельный архивный файл. Макрос ссылается на файл книги, который называется 2019-09-16, но на следующей неделе файл книги будет 2019-09-20, макрос не сработает.
Если бы я мог получить некоторый код, чтобы сделать копию рабочей книги. Затем копия сохраняется в другой папке под общим именем, например, «Архив». Это позволило бы мне запустить макрос для получения информации из этой книги.
Я попытался напечатать код, который был у меня для открытия последнего файла, чтобы помочь связать что-то вместе с макросом, но я набрал слишком много ошибок, когда набиралЭто. Любая помощь будет принята с благодарностью.
Sub OpenLatestFile()
Declare the variables
Dim MyPath As String
Dim MyFile As String
Dim LatestFile As String
Dim LatestDate As Date
Dim LMD As Date
MyPath = "\\C\s\CAF7\Stats\Team 1\Archive\"
If Right(MyPath, 1) <> "\" Then MyPath = MyPath & "\"
If Len(MyFile) = 0 Then
MsgBox "No files were found...", vbExclamation
Exit Sub
End If
Do While Len(MyFile) > 0
LMD = FileDateTime(MyPath & MyFile)
Do While Len(MyFile) > 0
LMD = FileDateTime(MyPath & MyFile)
LMD = FileDateTime(MyPath & MyFile)
If LMD > LatestDate Then
LatestFile = MyFile
LatestDate = LMD
End If
MyFile = Dir
Loop
Workbooks.Open MyPath & LatestFile
Windows("Teams.xlsm").Activate
Range("F11").Select
ActiveCell.FormulaR1C1 = "='[Workbooks.Open MyPath & LatestFile]Managers Sheet'!R33C13"
Range("E12").Select
ActiveCell.FormulaR1C1 = "='[Workbooks.Open MyPath & LatestFile]Managers Sheet'!R24C13"
Range("D9").Select
ActiveCell.FormulaR1C1 = "='[Workbooks.Open MyPath & LatestFile]Managers Sheet'!R38C13"
Range("F13").Select
ActiveCell.FormulaR1C1 = "='T1'!R[7]C"
Range("F14").Select
ActiveCell.FormulaR1C1 = "='T1'!R[20]C"
Range("F15").Select
ActiveCell.FormulaR1C1 = "='T1'!R[33]C"
Range("F16").Select
ActiveCell.FormulaR1C1 = "='t1'!R[19]C[2]"
Range("F17").Select
ActiveCell.FormulaR1C1 = "='t1'!R[18]C[8]"
Range("E18:F27").Select
End Sub
Это то, что я пытался решить проблему, рабочая книга открывается нормально, но затем при попытке запустить макрос она пытается найти рабочую книгу по ссылке и можетне найти?