小编All*_*ell的帖子

Excel VBA - 如何添加动态数组公式

我正在通过 VBA 向工作表添加一个公式,它应该是:

=UNIQUE(IF(TableA[ColumnA]=A1,TableA[ColumnB],""))
Run Code Online (Sandbox Code Playgroud)

这利用 Excel 中的新 SPILL 功能为我提供 B 列值列表,其中 A 列中的相关值与单元格 A 中的值相匹配。我还应用 UNIQUE 函数来删除任何多个空白 ("") 结果。

如果我手动将公式输入到 Excel 中,这非常有效,但是在使用 VBA 添加公式时,Excel 在公式中添加了 @ 符号,并导致它显示 #VALUE!。

用于添加公式的 VBA 行是:

=Cells(x,y).Formula = "=UNIQUE(IF(TableA[ColumnA]=A1,TableA[ColumnB],""""))"
Run Code Online (Sandbox Code Playgroud)

Excel 中的结果输出为:

=@UNIQUE(IF(TableA[@[ColumnA]]=A1,TableA[ColumnB],""))
Run Code Online (Sandbox Code Playgroud)

发生了什么,我错过了什么?

提前致谢!

excel vba excel-formula dynamic-arrays

12
推荐指数
1
解决办法
2546
查看次数

标签 统计

dynamic-arrays ×1

excel ×1

excel-formula ×1

vba ×1