[问题] Excel VBA建立多维阵列的问题

楼主: homelife (SKY)   2019-02-24 00:48:49
软件: 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"
这种方式一行一行设定的话,设定完我要的整个阵列大概要破百行,
实在不想要让程式码这么冗长。
请问有什么方式可以让我用可以换行的方式建立二维阵列,同时程式码又不会太冗长呢?
非常感谢~
作者: soyoso (我是耀宗)   2019-02-24 09:58:00
是的evaluate内有255字数限制,以原来看字数为237,再加19个字数就会错误因此看是否将资料建立于储存格内,再以myarray2 = 范围的方式

Links booklink

Contact Us: admin [ a t ] ucptt.com