В настоящее время я нахожусь в проекте, где я застрял написание кода для нижеупомянутой деятельности.
Я создал пользовательскую форму с множественным выбором Listbox и командной кнопкой
a) ListBox заполняет элементы из источника таблицы двумя столбцами.
Zone Region
North N1
North N2
North N3
North N4
South S1
South S2
South S3
South S4
East E1
East E2
b) Командная кнопка предназначена для удаления элементов, выбранных в списке.
Теперь После того, как я нажму кнопку «Удалить командную кнопку», выбранные строки должны быть удалены в исходном источнике таблицы.
Проблема
Проблема, с которой я сталкиваюсь, заключается в том, что даже когда я выбираю 2 или более строк в списке, только последняя выбранная строка получает удалено .
Private Sub Cmd_Del_Click()
Dim sh As Worksheet
Set sh = ThisWorkbook.Worksheets("Sheet1")
Dim i As Long
For i = Me.LB_ZoneRegion.ListCount - 1 To 0 Step -1
If Me.LB_ZoneRegion.Selected(i) = True Then
sh.Range("A" & i + 2 & ":B" & i + 2).Select
Selection.Delete
End If
Next i
Call UserForm_Initialize
End Sub
Private Sub UserForm_Initialize()
On Error Resume Next
With Me.LB_ZoneRegion
.Clear
.ColumnCount = 2
.ColumnHeads = True
.ColumnWidths = "40;50"
.RowSource = "ZoneRegion"
.MultiSelect = fmMultiSelectMulti
End With
End Sub
Нажмите на ссылку ниже, чтобы загрузить рабочий файл.https://drive.google.com/open?id=1P5wiW6WVFAVQBgixPuA7gqyacR1aktvi
Пожалуйста, помогите мне в этом.