我正在通过 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)
发生了什么,我错过了什么?
提前致谢!