我試圖用vlookup從word文檔中讀取一個字符串並從excel工作表中返回相應的值。我似乎在vlookup函數上出現「下標輸出或範圍」錯誤。Word/Excel VBA vlookup「下標超出範圍」錯誤
這是我在看錶: Sample Data
我的代碼是:
Sub Autofill()
Dim oExcel As New Excel.Application
Dim testdb As Excel.Workbook
Dim testvar1 As Double
Set testdb = oExcel.Workbooks.Open("k:\SIF\Vibration\Dbase.xlsm")
testvar1 = oExcel.WorksheetFunction.VLookup("Roger", testdb.Sheets("Main").Range("A1:C4"), 2, False)
MsgBox (testvar1)
End Sub
我使用Application.Vlookup功能以及,無濟於事嘗試。得到了同樣的錯誤。
這是在黑暗中拍攝的照片,但是您是否嘗試將oExcel聲明爲Excel.Application? 在設置testdb之前添加此項, set oExcel = new Excel.Application – Alex
如果Dbase.xlsm文件中不存在工作表Main的名稱,則可能會出現此錯誤。也許有一個額外的空間或東西,檢查準確性。我模擬了你的代碼,它看起來沒問題。有一件事可能是一個問題,如果你期望返回一個字符串,你可能想要將testvar1改爲'String'而不是'Double'。 –
我懷疑你是因爲你的'Vlookup'返回一個錯誤(因爲沒有找到)而得到你的錯誤,你需要在你的'Vlookup'不成功的情況下添加錯誤處理,請參閱鏈接:http://stackoverflow.com/questions/ 18063214/how-to-error-handle-1004-error-with-worksheetfunction-vlookup –