Здравствуйте, я использую функцию, которая вызывает самый последний файл в моей папке.Мне нужно автоматизировать vlookup для файла.У меня проблемы с правильным вызовом файла
Я уже пытался вызвать его по его пути, но я считаю, что не правильно его назвал.
Sub oversub()
Dim MyPath As String
Dim MyFile As String
Dim LatestFile As String
Dim LatestDate As Date
Dim LMD As Date
MyPath = "C:\Users\TAmon1\Desktop\OverSubscription Dash"
If Right(MyPath, 1) <> "\" Then MyPath = MyPath & "\"
MyFile = Dir(MyPath & "*.csv", vbNormal)
If Len(MyFile) = 0 Then
MsgBox "No files were found...", vbExclamation
Exit Sub
End If
Do While Len(MyFile) > 0
LMD = FileDateTime(MyPath & MyFile)
If LMD > LatestDate Then
LatestFile = MyFile
LatestDate = LMD
End If
MyFile = Dir
Loop
Workbooks.Open MyPath & LatestFile
Dim wb As Workbook
'wbstring = MyPath & LatestFile
Windows("Planning_tool.xlsm").Activate
Range("N2").Select
ActiveCell.FormulaR1C1 = _
"=VLOOKUP(C[-13],'Router_level_crosstab.csv'!C1:C11,11,FALSE)"
Range("N2").Select
Selection.AutoFill Destination:=Range("N2:N539")
Range("N2:N539").Select
Range("P2").Select
ActiveCell.FormulaR1C1 = ""
Range("O2").Select
'ActiveSheet.Paste
Range("O2").Select
ActiveCell.FormulaR1C1 = _
"=VLOOKUP(C[-14],'Router_level_crosstab.csv'!C1:C11,5,FALSE)"
Range("O2").Select
Selection.AutoFill Destination:=Range("O2:O539")
Range("O2:O539").Select
Range("Q2").Select
ActiveCell.FormulaR1C1 = _
"=VLOOKUP(C[-16],'Router_level_crosstab.csv'!C1:C11,9,FALSE)"
Range("Q2").Select
Selection.AutoFill Destination:=Range("Q2:Q539")
Range("Q2:Q539").Select
В настоящее время я вызываю прямойфайл, который работает, но когда у меня есть новый файл, мне нужно будет вручную изменить имя файла.Мне нужно включить последний файл в Vlookup.