2015-09-25 66 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