2017-03-03 120 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