Я пишу сценарий, который требует открытия второй книги и запуска VLOOKUP во второй книге. Он отлично работает, когда имя второй книги «testlookup.xlsx», но когда я изменил имя файла на «hippity hop 1251225253.xlsx», он открывает окно с надписью «Обновить значения: 1251225253», а затем сбой VLOOKUP. Как я могу заставить код работать независимо от имени файла?В VBA моему VLOOKUP необходимо обновить значения
fpath = Application.GetOpenFilename(, , "Select the CMS All Assets exported CSV")
fname = Dir(fpath)
Workbooks.Open (fpath)
Set openedBook = Application.ActiveWorkbook
Set assetBook = openedBook.Worksheets(1)
ActiveWindow.WindowState = xlMinimized
checkWkbk.Activate
With dupeSheet
'determine last row
lr = .Cells(Rows.count, 1).End(xlUp).Row
'vlookup from C2:CEnd
.Range(.Cells(2, 3), .Cells(lr, 3)).FormulaR1C1 = _
"=VLOOKUP(RC[-2], " & CStr(fname) & "!C1:C2, 2, FALSE)"
End With
вы можете Debug.Print FName, чтобы показать правильно ли он заворачивает ссылку в '? это необходимо для того, чтобы формула была действительной из-за пространства в имени листа. – Zerk