从用户窗体的列表框中删除选定的行

Delete a selected row from list boxes in Userform

我的用户表单中有两个列表框。第一个是 lstBox1,另一个是 sheets "PUB1" 和 "PUB2" 的 lstBox2。我尝试创建一个命令按钮,它可以从任何列表框以及 sheet 中删除选定的行,并向上移动单元格行,这样就不会有空白行。

我使用以下代码行为其中一个列表框启动它,它运行良好,但不知道如何修改它以在相同过程下为另一个列表框工作。

Private Sub cmdDelete_Click()

Dim i As Integer

For i=0 To Range ("A50").End(x1Up).Row-1

 If lstBox1.Selected(i) Then

   Rows(i).Select

   Selection.Delete

  End If

Next i

End Sub

像这样:

Private Sub cmdDelete_Click()

With Worksheets("PUB1")
Dim i As Long

For i = 1 To .Range("A50").End(xlUp).row

 If lstBox1.Selected(i) Then

   .Rows(i).Delete

 End If

Next i
End With

With Worksheets("PUB2")

For i = 1 To .Range("A50").End(xlUp).row

 If lstBox1.Selected(i) Then

   .Rows(i).Delete

 End If

Next i

End With

End Sub