軟體: 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"
這種方式一行一行設定的話,設定完我要的整個陣列大概要破百行,
實在不想要讓程式碼這麼冗長。
請問有什麼方式可以讓我用可以換行的方式建立二維陣列,同時程式碼又不會太冗長呢?
非常感謝~