首页 > 解决方案 > Excel VBA .Range .Formula String -> 在工作表名称前插入@ 时出错

问题描述

在 VBA 模块中,我尝试使用此 VBA 代码在一系列单元格中插入公式:

Sheets("allocation_data_temp").Range("Y2:Y" & Lastrow2).Formula = "=INDEX(StoreRanks!M:M,MATCH(1,('allocation_data_temp'!$E2=StoreRanks!$C:$C)*('allocation_data_temp'!$A2=StoreRanks!$A:$A),0))

但是,当宏运行时,这实际上是插入的内容:

=INDEX(StoreRanks!M:M,MATCH(1,(allocation_data_temp!$E2=@StoreRanks!$C:$C)*(allocation_data_temp!$A2=@StoreRanks!$A:$A),0))

工作表名称前的 @ 符号导致引用错误。为什么这个函数要编辑我为公式设置的字符串,我该如何防止这种情况发生?

标签: excelvba

解决方案


推荐阅读