我可以使用变量来重新排列数组吗?

1 arrays vb6

我不完全确定为什么我收到错误消息

期待动态数组var

使用此代码:

Option Explicit

Sub ArrayTest()
    Dim i As Integer, BankList(0) As Variant, x As Integer
    For i = 0 To UBound(ScreenArray)
        If ScreenArray(i) Like "TR=SUB*" Then
            Debug.Print ScreenArray(i)
            ReDim Preserve BankList(x)    '<<< ERROR LINE
            BankList(x) = ScreenArray(i)
            x = x + 1   'Raise the value for the next occurrence, if needed.
        End If
    Next
End Sub
Run Code Online (Sandbox Code Playgroud)

基本上,如果满足某些条件,我试图将特定字符串从一个数组移动到一个新数组.在运行此For...Next语句之前,很难确定新数组中的字符串数量.

如果您无法从代码中分辨出来,那么原始数组就是ScreenArray新数组BankList.

Yow*_*E3K 5

要创建动态数组,请不要在原始声明中指定大小.

所以用BankList() As Variant而不是BankList(0) As Variant.