我一直在嘗試在VBA中使用vlookup,它很煩人。VBA使用Vlookup將值分配給ActiveCell,在另一個參考的工作簿
ActiveCell.Value = Application.WorksheetFunction.VLookup(Cells(currentrow, 12), currwor.Worksheets("Sheet1").Range("R4C3:R160C10"), 6, False)
是代碼
我使用的主要元素是 currwor已被設置爲引用其他工作簿,我期待用VLOOKUP的範圍在那裏。
然而,它不斷踢出一個錯誤,說下標超出範圍。
我懷疑currwor
是這個 Set currwor = ActiveWorkbook
有罪的一方(然後在其中執行上述被打開的工作簿,並分配一個工作簿的名稱爲好。) 我不能用一個具體的範圍,因爲我試圖在一個範圍內的每個單元格上執行vlookup,並且該範圍每次都會更改,並且currwor將在我獲得的特定文檔上執行,但名稱可能會有所不同(格式不過相同)。對此有何建議?
編輯:一個錯誤是它不應該是sheet1,而是「產品庫存報告」。但是它仍然踢出超出範圍錯誤的下標。
好了,所以我有兩個工作簿 - 一個是一個是我已經設置爲 設置currwor = ActiveWorkbook Workbooks.Open被更新(「C:\用戶\ Nilay \的Lync錄音\質量控制Database.xlsm「) Set QCs = ActiveWorkbook 希望澄清一下。 – DanyLark 2014-12-05 11:58:08
但您在代碼中使用了其他方法:一旦您打開** QC **,它將變爲活動狀態,並且在該工作簿上激活任何表單/單元格將填充您的公式,這會使VLOOKUP返回** currwor **。 – Raugmor 2014-12-05 12:14:46
不確定你的意思。是的,我正在嘗試查看currwor,因爲我試圖從那裏提取更新後的數據到QC中。 然而,它顯然超出範圍。 – DanyLark 2014-12-05 12:21:02