从用户窗体的列表框中删除选定的行
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
我的用户表单中有两个列表框。第一个是 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