2017-03-03 115 views
0

确实无法声明由变量提供的大小的可视基本数组?这似乎是任何脚本语言的合理要求,所以我希望我做错了什么。使用变量的VBA数组声明

在下面的示例...

Sub TestRoutine() 
    Dim tVar As Integer: tVar = 5 
    Dim tArr(tVar) As String 
    tArr(3) = "SUCCESS" 
    MsgBox tArr(3) 
End Sub 

...执行失败与消息Compile error: Constant expression required

我使用动态阵列代替,但这似乎像一个丑陋的解决方法。有什么我在这里失踪?

回答

0

这是正确的。你可以得到最接近的是 - 因为编译器建议 - 使用常数:

Sub TestRoutine() 
    Const tVar  As Integer = 5 
    Dim tArr(tVar) As String   
    tArr(3) = "SUCCESS" 
    MsgBox tArr(3) 
End Sub 

另一种选择是很方便,比方说,使用拆分或阵时,是使用变:

Sub TestRoutine() 
    Dim vArr As Variant 
    vArr = Array("0", "1", "2", "Yet a SUCCESS") 
    MsgBox vArr(3)  
End Sub