我正在編寫一個腳本,需要打開第二個工作簿並在第二個工作簿中運行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