excel - 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))
工作表名称前的 @ 符号导致引用错误。为什么这个函数要编辑我为公式设置的字符串,我该如何防止这种情况发生?
解决方案
推荐阅读
- ios - 导航栏 Swift 的自定义后退指示器图像
- python - /addtodo/ 处的 ValueError:无法在待办事项列表中添加新项目
- sql - BigQuery 的问题不尊重 WHEN 语句
- c - C:将类型定义的枚举值作为指针传递给函数
- sql - 移位明智的拳头在sql中的特定值上得到错误的输出
- java - 通过鼠标悬停鼠标滚轮将焦点添加到微调器
- c# - ASP.NET Core 模型是否有类似 OnDelete 回调的东西?
- c++ - Eclipse 中 C++ 调试的 macOS 10.15 Catalina gdb 问题
- python-3.x - 从嵌套字典的子集字典创建字典
- ios - 在 UICollectionView 中动态插入 Item