Добрый день, в примере во вложений файл с возможностью удаления строк через 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
gling, день добрый. Спасибо. Попробовал, он удаляет выбранное, но при этом пропадает мульти удаление (удаление двух и более выбранных строк), удаляет первое в списке.
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.