问题描述
我有一个 VBA 公式,当我使用 ActiveCell.Formula2R1C1 函数时,它可以工作,我曾经用它来测试我是否可以获得我想要的结果。这可以正常工作,给我一个逗号分隔的列表。
ActiveCell.Formula2R1C1 = "=SUBSTITUTE(ARRAYTOTEXT(FILTER(vendSelect1,vendSelect3=LEFT(R[-7]C[-3],6))),LEFT(R[-7]C[-3],6) & "","","""")"
vendSelect1 和 vendSelect3 是来自另一个选项卡中的表的命名范围
我想将此公式的结果用作要在数据验证列表中使用的字符串。走这条路线的原因是列表将根据在另一个单元格中输入的值动态变化,因此列表会有所不同。我有用于创建数据验证工作的代码,我只需要将上述等式的结果存储为该代码的变量。
我曾尝试使用 Evaluate 函数来存储结果,但是当我尝试将该值放入单元格中以测试它是否正常工作时,我在单元格中收到了 #VALUE 错误。这只是比 Evaluate 可以处理的更复杂的公式吗?还是我做错了什么?我愿意接受其他建议来完成同样的事情,但我不是 VBA 专家,这是迄今为止我找到的最好的方法来完成这个任务。这是我的代码,它在单元格 D14 中给我 #VALUE 错误。
Sub test()
Dim FormTest As Variant
FormTest = Evaluate("=FILTER(vendSelect1,6))")
Range("D14") = FormTest
End Sub
我已经尝试让它工作了大约 2 天,这似乎是实现我想做的事情的最后一个障碍。
先谢谢你。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)