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



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

Excel公式:

=IF(VLOOKUP([@[帐户名称和ID]],FirstTimeDonor!$A$3:$C$5000,3,FALSE(=[@Date],"FTD","非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)"

只需将.FormulaR1C1更改为.Formula


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

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

最新更新