将相对引用应用于VBA中的公式

时间:2018-12-05 00:36:23

标签: excel vba excel-formula

在Excel单元格中直接发布以下公式时,将显示正确的结果。但是,将其添加到VBA以进行刷新时,上传新数据时,将不提供任何输出。

Excel公式:

  

= IF(VLOOKUP([@ [帐户名称和ID]],FirstTimeDonor!$ A $ 3:$ C $ 5000,3,FALSE)= [@ Date],“ FTD”,“ Non-FTD”)

VBA:

tbl.ListColumns("First Time Donation").DataBodyRange.FormulaR1C1 = _
"=IF(VLOOKUP([@[Account Name and ID]], FirstTimeDonor!$A$3:$C$5000, 3, FALSE)=[@Date], 1, 0)"

2 个答案:

答案 0 :(得分:0)

只需将.FormulaR1C1更改为.Formula


...DataBodyRange.Formula = "=IF(VLOOKUP([@[Account Name and ID]], FirstTimeDonor!$A$3:$C$5000, 3, FALSE)=[@Date], 1, 0)"

答案 1 :(得分:-1)

FormulaR1C1-您的公式使用的是绝对引用,而不是相对引用。仅使用DataBodyRange.Formula =。