为什么VBA放置'范围'而不仅仅是范围

时间:2015-10-13 09:35:23

标签: vba excel-vba excel

使用VBA将公式放在像这样的单元格中

    Range("H2").Select
    ActiveCell.FormulaR1C1 = _
        "=IFERROR(VLOOKUP(RC[-6],CompanyUserEntries!B2:X" & URowCount & ",1,TRUE),"""")"

但是Excel最终会把它变成这个

=IFERROR(VLOOKUP(B2;CompanyUserEntries!'B2':'X12';1;TRUE);"")

范围内的'符号导致公式不起作用。知道如何在不破坏我的公式的情况下正确引用这个范围吗?

2 个答案:

答案 0 :(得分:5)

您不能在同一公式中混合R1C1和A1表示法。请尝试仅使用R1C1表示法:

    ActiveCell.FormulaR1C1 = _
"=IFERROR(VLOOKUP(RC[-6],CompanyUserEntries!R2C2:R" & URowCount & "C24,1,TRUE),"""")"

答案 1 :(得分:1)

您是否尝试过使用RC?

"R2C2:R" & URowCount & "C24"

那应该适合你。

ActiveCell.FormulaR1C1 = _
        "=IFERROR(VLOOKUP(RC[-6],CompanyUserEntries!R2C2:R" & URowCount & "C24,1,TRUE),"""")"