如何在Excel的vba中初始化多维数组变量

2023-11-21

The 微软网站建议以下代码应该有效:

Dim numbers = {{1, 2}, {3, 4}, {5, 6}}

但是,当我尝试在 Excel VBA 模块中使用它时,出现编译错误。 以下内容适用于一维数组:

A = Array(1, 2, 3, 4, 5)

但是我还没有找到一种方法对二维数组执行相同的操作。 有任何想法吗?


您还可以使用速记格式,利用Evaluate函数和静态数组。在下面的代码中,varData设置在哪里[]是的简写Evaluate函数和{...}表达式表示静态数组。每行由一个分隔;每个字段都用一个分隔,。它使您得到与 simoco 代码相同的最终结果,但语法更接近您原来的问题:

Sub ArrayShorthand()

    Dim varData As Variant
    Dim intCounter1 As Integer
    Dim intCounter2 As Integer

    ' set the array
    varData = [{1, 2, 3; 4, 5, 6; 7, 8, 9}]

    ' test
    For intCounter1 = 1 To UBound(varData, 1)
        For intCounter2 = 1 To UBound(varData, 2)
            Debug.Print varData(intCounter1, intCounter2)
        Next intCounter2
    Next intCounter1

End Sub
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在Excel的vba中初始化多维数组变量 的相关文章

随机推荐