【问题标题】:Populate VBA Array with variable values用变量值填充 VBA 数组
【发布时间】:2019-04-25 16:16:23
【问题描述】:

抱歉,我还没有找到解决此问题的方法。尝试以这种方式定义数组时

Dim Arr As Variant: Arr = [{"Value1", "Value2"}]

效果很好,但是当尝试使用变量(即)做同样的事情时

Dim Arr as variant
v1 = "Value1"
v2 = "Value2"
Arr = [{v1, v2}]

会抛出语法错误。请问有什么办法可以解决吗?我确实需要使用变量来填充数组。提前致谢

【问题讨论】:

  • 你查过如何在 VBA 中初始化一个数组吗?
  • VBA 中的方括号是 Application.Evaluate() 的简写,这意味着方括号中的任何内容都将被视为 literal 文本并像输入到编辑栏中一样进行评估。这就是你不能使用变量的原因 - 将其初始化为适当的 Array 对象。

标签: vba


【解决方案1】:
Arr = [{"Value1", "Value2"}]

Arr = Application.Evaluate("{""Value1"", ""Value2""}")

您正在让 Excel 公式引擎解析表达式,并将其解析为 array constant
显然,公式引擎对 VBA 变量一无所知。

你应该简单地使用

Arr = Array(v1, v2)

【讨论】:

    猜你喜欢
    • 2019-12-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-24
    • 1970-01-01
    • 2021-04-21
    • 2017-05-20
    • 2012-02-09
    相关资源
    最近更新 更多