2015-09-25 27 views
0

我正在創建一個引用上一頁查找值的vlookup。我試過ActiveCell.FormulaR1C1 = "=VLOOKUP(RC1,Sheets(Sheets.Count - 1)!R1C1:R600C14,11,FALSE)"但我得到了「應用程序或對象定義的錯誤」。我確信有一種方法可以做到這一點,但我正在努力弄清楚。需要使用變量查找表進行查找

回答

0

這是未經測試的,但我認爲你的公式與你寫的方式非常相似。嘗試這樣的:

ActiveCell.FormulaR1C1 = "=VLOOKUP(RC1,'" & _ 
    Sheets(Sheets.Count - 1).Name & "'!R1C1:R600C14,11,FALSE)" 
+0

我曾試過這個,但沒有.Name。當我嘗試你的版本時,只要線路運行,它就會打開一個對話窗口來選擇一個文件。該窗口標題爲「更新值:15」。我不知道這是什麼或者代碼如何實現。 – Jay

+0

我可能是錯的,但我不認爲這一行代碼是造成...不是不可能的,但我不明白它是如何做到的。你可以在這一行上放一個斷點,並在調試模式下運行它,看看它對活動單元格有什麼作用?我繼續在測試電子表格上運行它,只是爲了看看會發生什麼,而且我確實取得了成功。 – Hambone

+0

我創建了一個只有那行代碼並且通過它的子代。它在運行該行時立即打開該對話框。我從你的答案中複製並粘貼它。它確實將代碼放在單元格中,除了一件事外,公式看起來是正確的。每個選項卡的名稱是9-24-15格式的日期。宏寫公式爲= VLOOKUP($ A13,9-24-'15'!$ A $ 1:$ N $ 600,11,FALSE)請注意15周圍的報價,一個正確的公式會在整個日期。它會導致#REF錯誤。 – Jay