VBA - Ошибка выполнения 381 при удалении элемента из списка - PullRequest
0 голосов
/ 09 апреля 2020

У меня есть 2 диапазона Excel, и я хочу добавить в список элементы, которые находятся в первом диапазоне, но они не могут быть найдены во втором. я сделал код, который добавляет 1-й диапазон в список, а затем al oop, чтобы удалить те, которые находятся во 2-м, но он выдает мне ошибку: "не удалось получить свойство списка. Недопустимый индекс массива свойств. Vba удаление элемента из списка " обратите внимание, что в списке есть 2 столбца

Private Sub UserForm_Initialize()
Dim stuN As Integer
stuN = ActiveSheet.Cells(1, 14).Value
For i = 0 To stuN - 1
    ActiveSheet.Cells(i + 4, 1).Select
    stus.AddItem
    stus.List(i, 0) = ActiveCell.Value
    stus.List(i, 1) = ActiveCell.Offset(0, 1).Value
Next i

For j = 0 To stus.ListCount - 1
    Dim toF As Integer
    Dim cS As Integer

    toF = stus.List(j, 0)
    For i = 0 To Application.WorksheetFunction.CountA(ActiveSheet.Range("grpStus")) - 2
        cS = ActiveSheet.Cells(i + 4, 16).Value
        If cS = toF Then
            stus.RemoveItem (j)
            Exit For
        End If
    Next i
Next j      
End Sub

stus это список, пожалуйста, помогите мне

1 Ответ

0 голосов
/ 09 апреля 2020

получается, что ошибка из-за

For i = 0 To lstbox.ListCount - 1
    lstbox.RemoveItem (i)
next i

, потому что удаление элемента изменит

ListCount и l oop будет go вне диапазона

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...