Страницы: 1
RSS
Корректное удаление выбранной строки на листе через listbox
 
Добрый день, в примере во вложений файл с возможностью удаления строк через ListBOx проблема в том что сейчас макрос удаляет не выбранные элемент в listbox, а первое совпадение по первому столбцу. Спасибо заранее. Часть кого прилагаю (весь файл во вложений):
Код
Private Sub CommandButton3_Click()
'   ---------------------------------
    Dim i%, rng As Range
'   ---------------------------------
    For i = 0 To Me.ListBox1.ListCount - 1
        If Me.ListBox1.Selected(i) Then
            Set rng = Range("a1:a" & wbSht.Rows.Count).Find(Me.ListBox1.List(i))
            Rows(rng.Row).Delete
        End If
    Next i
    Me.ListBox1.Clear
    With wbSht
        i = .Range("a" & .Rows.Count).End(xlUp).Row
        If i > 2 Then
            Me.ListBox1.List = .Range(.[b2], .Range("a" & i)).Value
        Else: If Not IsEmpty(.[a2].Value) Then Me.ListBox1.AddItem .[a2]
        End If
    End With
End Sub
Изменено: Ov198 - 07.10.2018 07:26:56
 
Здравствуйте. А если так записать
Код
            'Rows(rng.Row).Delete
            Rows(i + 2).Delete
 
gling, день добрый. Спасибо. Попробовал, он удаляет выбранное, но при этом пропадает мульти удаление (удаление двух и более выбранных строк),  удаляет первое в списке.
 
Честно говоря не понял, что именно работает не так?  Попробовал вроде все удаляет, что выбрал в ListBox.
"Все гениальное просто, а все простое гениально!!!"
 
Код
Private Sub CommandButton3_Click()
    Dim i&
    For i = ListBox1.ListCount - 1 To 0 Step -1
        If ListBox1.Selected(i) Then
            Sheets("Справочная_базис").ListObjects("Базис_tb").ListRows(i + 1).Delete
        End If
    Next
    On Error Resume Next
    Me.ListBox1.List = Sheets("Справочная_базис").ListObjects("Базис_tb").DataBodyRange.Value
    If Err Then Err.Clear: Me.ListBox1.Clear
    On Error GoTo 0
End Sub
 
Nordheim, день добрый. Спасибо Вам огромное еще раз. Если в listbox выбрать "базис": юг второй по счету со значением в столбце B 8, то он удаляет первый юг со значением 6.
 
RAN,спасибо большое сейчас буду пробовать = )
Страницы: 1
Наверх