软件: Office 365 Excel
今天开始接触VBA,尝试了几种方式建立多维阵列,最后查到了这种方式,
可以让我一次用多行程式码建立多维阵列,程式码如下:
Dim myarray2 As Variant
myarray2 = _
Evaluate("{""AAA"",""BBB"",1,False,False;" & _
"""A"",""B"",1,True,False;" & _
"""A"",""B"",1,True,False;" & _
"""A"",""B"",1,True,False;" & _
"""A"",""B"",1,True,False;" & _
"""A"",""B"",1,True,False;" & _
"""A"",""B"",1,True,False;" & _
"""A"",""B"",1,True,False;" & _
"""A"",""B"",1,True,False;" & _
"""A"",""B"",1,True,False;" & _
"""d"",""e"",1,True,False}")
Debug.Print ("UBound(myarray2, 1)=" & UBound(myarray2, 1))
Debug.Print ("UBound(myarray2, 2)=" & UBound(myarray2, 2))
但是如此建立的多维阵列,里面的字串(如"A","B")只要太长,后面Debut.Print
就会出问题。
会跳出视窗显示"执行阶段错误13,型态不符合"
我猜测可能是整个Evaluate内的字串超过VBA对字串长度的限制?
但是如果用
myarray(0,1)="ABC"
这种方式一行一行设定的话,设定完我要的整个阵列大概要破百行,
实在不想要让程式码这么冗长。
请问有什么方式可以让我用可以换行的方式建立二维阵列,同时程式码又不会太冗长呢?
非常感谢~