vba - Excel VBA 评估不起作用,出现#VALUE 错误
问题描述
当我使用 ActiveCell.Formula2R1C1 函数时,我有一个 VBA 公式可以工作,我用它来测试我可以得到我想要的结果。这可以正常工作,给我一个逗号分隔的列表。
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,VendSelect3=LEFT(R[-7]C[-3],6))")
Range("D14") = FormTest
End Sub
我一直试图让它工作大约 2 天,这似乎是获得我想做的最后一个障碍。
先感谢您。
解决方案
推荐阅读
- sql-server - SQL Server 2016 管理员权限限制
- python - 最有效的方法 - 为 anagrams Python 测试 2 个字符串
- r - 如何引导混合模型的 R 平方?
- python - 使用拆分条件从字符串列表中填充数据框
- unit-testing - 如何检测 JEST 在模拟的依赖库中的调用?
- sql-server - 将 Visual Studio 数据库项目对象部署到“dbo”以外的架构
- javascript - 如果在 localeCompare 函数中设置 numeric:true 会有任何变化吗
- javascript - 仅当另一个文本框包含 asp.net 中的文本时,如何使文本框变得可见?
- c - 为了提高缓存命中率,我该如何修改程序
- linux - 在文件中写入数字和余数,如果余数为 0,则将其显示在屏幕上 [bash 脚本]