Удаление элементов в массиве, если элемент имеет определенное значение VBA

У меня есть глобальный массив prLst () , который может иметь переменную длину. Он принимает числа в виде строк от «1» до Ubound (prLst) . Однако, когда пользователь вводит «0» , я хочу удалить этот элемент из списка. Для этого у меня написан следующий код:

count2 = 0
eachHdr = 1
totHead = UBound(prLst)

Do
    If prLst(eachHdr) = "0" Then
        prLst(eachHdr).Delete
        count2 = count2 + 1
    End If
    keepTrack = totHead - count2
    'MsgBox "prLst = " & prLst(eachHdr)
    eachHdr = eachHdr + 1
Loop Until eachHdr > keepTrack

Это не работает. Как эффективно удалить элементы в массиве prLst , если элемент равен «0» ?


ПРИМЕЧАНИЕ: Это часть более крупной программы, описание которой of можно найти здесь: Сортировка групп строк Макрос Excel VBA

13
задан Community 23 May 2017 в 12:26
поделиться