我正在调查Excel电子表格中的一个错误,其中以下公式插入到列中的每个单元格中。在Excel VBA中,如何引用包含单引号的命名列
=AGGREGATE(3, 5, InputData[@[Foo]:[Bar]]) > 0
的VBA如下:
Let AddColumn.DataBodyRange.formula = "=AGGREGATE(3, 5, [@[Foo]:[Bar]]) > 0"
这将评估为FALSE
如果所有列Foo
和Bar
之间的当前行的细胞是空的,否则结果为TRUE
我看到的问题是名称Foo
和Bar
是可变的,不在我的控制之下,并且公式因运行时错误而失败1004号,如果名称中包含一个单引号:
Let AddColumn.DataBodyRange.formula = "=AGGREGATE(3, 5, [@[Foo's name]:[Bar]]) > 0"
有没有一种方法,我可以以这样的方式是单引号不会造成运行时错误逃脱的名字吗?在名称周围添加双引号会导致同样的错误。
如果名称中包含其他字符在Excel中有特殊含义,是否可能会有进一步的问题?
我也可以通过地址而不是名称来引用列。这将与当前行'@'符号一起工作吗?
Excel版本:14.0.7188.5002
前缀列名的任何特殊字符的撇号。据我所知,这将包括字符:'#@ []' – Rory