我想要一个宏来创建一个包含如下公式的单元格:
='X:\Documents\Database\Database 文件[DatafileB.xlsm]计算'!A3
因此该单元格使用以下值:
- 单元格 B1:指定单元格(此示例中为:A3)
- 单元格 B2:指示的选项卡(在此示例中为:计算)
- 单元格 B3:指示的 xlsm 文件名(在此示例中为:DatabasefileB.xlsm)
- 单元格 B4:指示的文件路径(在此示例中为:X:\Documents\Database\Database files)
我如何制作一个在单元格 B5 中创建该公式的宏?
问候,肯尼
答案1
嗯,一种在单元格端起作用的方法是创建组合元素的公式,然后复制它(无“=”),并创建一个命名范围,例如,其中的公式由旧 Excel 4 宏命令中的函数Result
包装。然后只需在单元格中输入即可获得...结果。EVALUATE()
=Result
仅适用于命名范围。在单元格中直接输入“=EVALUATE(...)”将失败。无需警告这些功能随时可能消失:1) 已经 27 年了,它们仍然存在,2) MS 网络资料中有证据表明,几个功能需要 XL4 宏语言保持,因此距离完全重写程序还很远,它们永远不会消失。还有“27 年……”
无论如何,人们可以直接在宏中使用它,尽管人们也可以简单地构建公式,然后让 VBA 对其执行相同的操作。
INDIRECT()
与对其他工作簿的引用没有太大区别EVALUTE()
,即使它们已关闭,而且这个技巧INDIRECT()
不会很快实现。