跨新工作表和多列的VBA FormulaR1C1属性

时间:2016-01-22 14:43:27

标签: excel vba excel-vba

我担心在尝试在另一张纸上找到多个列时,我无法绕过FormulaR1C1属性,我现在(非常慢)自动填充这些公式:

MainViewController

你可以在顶部公式中看到,我试图没有成功。我不断收到应用程序定义的错误,但对该属性的解释不够充分。

1 个答案:

答案 0 :(得分:2)

公式

Range("F2:F" & LastRow).Formula ="=IFERROR(VLOOKUP(A2,LU!A:E,2,true),"""")"

转换为R1C1引用样式的

Range("F2:F" & LastRow).FormulaR1C1 = "=IFERROR(VLOOKUP(RC[-5],LU!C[-5]:C[-1],2,True),"""")"

要完全理解以下内容:

  1. 您输入公式的单元格位置是起点
  2. 起始栏是F
  3. 列A是F左侧的5列,因此A2转换为RC[-5](同一行,起点左侧5列(或想到第6列(F)并移动-5从那里))
  4. 范围查找的相同原则。您希望在工作表LU中查看A:E列。因此,列F 中的-5列(记住起点是F列,即使它现在正在查看不同的表格)-1
  5. 了解这一点,您可以转换其他公式,甚至是COUNTIF

    此外,如果您再次陷入困境,请遵循@ BruceWayne建议在 Excel>下转换R1C1参考样式选项>公式,以查看手动输入时的公式。