Не удалось установить свойство List. Неверный индекс массива свойств - PullRequest
0 голосов
/ 08 апреля 2019

Изображение Я создал пользовательскую форму Excel.В списке при попытке удалить строку выдает ошибку. Не удалось установить свойство List.Неверный индекс массива свойств.

Команда удаления

Private Sub CmdDelete_Click()

Dim i As Integer
For i = 1 To Range("A1000000").End(xlUp).Row
If Cells(i, 1) = Listbox1.List(Listbox1.ListIndex) Then
Rows(i).Select
Selection.Delete
End If
Next i
End Sub

Ответы [ 2 ]

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

Убедитесь, что в ListBox сделан выбор, в противном случае значение Listindex = -1

.

При удалении строк работают снизу вверх

Не использовать .select

Хотите обновить ListBox после нажатия?

Слегка скорректированный код (не полностью определенные диапазоны / ячейки):

Private Sub CmdDelete_Click()
Dim i As Long
    If ListBox1.ListIndex = -1 Then Exit Sub
        For i = Range("A1000000").End(xlUp).Row To 1 Step -1
            If Cells(i, 1) = ListBox1.List(ListBox1.ListIndex, 0) Then
            Rows(i).Delete
        End If
    Next i
End Sub
0 голосов
/ 09 апреля 2019

Не могли бы вы опубликовать содержимое списка и несколько строк таблицы? Возможно, что каждый selection.delete меняет значение для End (xlUp) .Row. Это также может быть ListIndex. Я забываю, начинается ли он с 0 или 1, но вы можете указывать на неправильный?

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