我想找到一种实用的方法,直接将值分配给VBA中的多维数组而不进行迭代。我用Google搜索的解决方案哪种作品,但是当我尝试与变量结合使用它失败..VBA - 直接使用括号分配多维数组
这工作:
Sub SomeSub()
Dim vArray As Variant
Dim iCounter As Integer
vArray = [{"Zip", "22150";"City", "Springfield"; "State", "VA"}]
For iCounter = LBound(vArray, 1) To UBound(vArray, 1)
Debug.Print vArray(iCounter, 1), vArray(iCounter, 2)
Next iCounter
End Sub
然而,这不和提出了一个“类型不匹配“错误。不同的是,我试图(和希望),而不是使用恒定的值的变量:
Sub SomeSub()
Dim vArray As Variant
Dim iZip As Integer
Dim sCity As String
Dim sState As String
iZip = 22150
sCity = "Springfield"
sState = "VA"
Dim iCounter As Integer
vArray = [{"Zip", iZip;"City", sCity; "State", sState}]
For iCounter = LBound(vArray, 1) To UBound(vArray, 1)
Debug.Print vArray(iCounter, 1), vArray(iCounter, 2)
Next iCounter
End Sub
我发现这种方法用于分配阵列很少或根本没有资料,所以我希望有人有一些有识之士报价。
谢谢!
很好玩,我的朋友..很好玩。 – 2014-09-22 22:19:34