2017-03-03 1 views
0

변수에서 제공하는 크기의 시각적 기본 배열을 선언 할 수 없습니까? 이것은 스크립팅 언어에 대한 합리적인 요구 사항처럼 보입니다. 그래서 나는 잘못된 것을하고 있다고 기대합니다.변수를 사용하는 VBA 배열 선언

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

다음 예에서

는 ... 실행은 I 대신 동적 배열을 사용하여 메시지 Compile error: Constant expression required

실패하지만,이 추한 해결 보인다. 내가 여기서 누락 된 것이 있습니까?

답변

0

맞아요. 당신이 얻을 수있는 가장 가까운입니다 - 컴파일러에서 알 수 있듯이 - 상수를 사용하는 :

분할 또는 배열을 사용하는 경우, 말, 편리 또 다른 옵션은 Variant를 사용하는 것입니다

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