使用变量的VBA阵列声明

时间:2017-03-03 01:19:59

标签: access-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

我使用动态数组,但这似乎是一个丑陋的解决方法。我在这里缺少什么吗?

1 个答案:

答案 0 :(得分:0)

这是对的。你可以得到的最接近的是 - 正如编译器建议的那样 - 使用常量:

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

使用Split或Array时,另一个方便的选项是使用Variant:

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