VBA:使用VLookUp在循环中设置动态值?

时间:2017-08-02 17:06:41

标签: excel vba excel-vba loops vlookup

此处有新的VBA用户...

我已经为文件夹中的每个文件设置了一个宏,作为一个循环。

在宏的一部分中,有一个等式包含每个文件不同的值。

这是等式(每个文件的值变化为0.2483,其他一切保持不变):

ActiveCell.FormulaR1C1 = "=(((" & signal_array(Element, 1) & ")-
R[-83]C)/R[-85]C)*1000*0.2483"

我已经设置了一个表,列出了另一个工作簿中的每个文件名及其对应的值。我试图在等式中使用vLookUp来根据文件名找到值 - 文件名是活动的。

这是我到目前为止所得到的,我得到了“运行时错误:1004”:

ActiveCell.FormulaR1C1 = "=(((" & signal_array(Element, 1) & ")-
R[-88]C)/R[-90]C)*1000*(=VLOOKUP(" & ActiveWorkbook.Name & ",'[Calibration 
Curves.xlsm]Sample Weights'!A2:B10,2,FALSE))"

关于如何使这项工作的建议?

1 个答案:

答案 0 :(得分:1)

尝试删除公式中的=并使用一致的单元格表示法(即不要将A1表示法与R1C1表示法混合):

ActiveCell.FormulaR1C1 = "=(((" & signal_array(Element, 1) & ")-
R[-88]C)/R[-90]C)*1000*(VLOOKUP(" & ActiveWorkbook.Name & ",'[Calibration 
Curves.xlsm]Sample Weights'!R2C1:R10C2,2,FALSE))"