gpt4 book ai didi

excel - 从列表框用户窗体中删除一行

转载 作者:行者123 更新时间:2023-12-04 21:49:00 24 4
gpt4 key购买 nike

我有一个列表框,它显示了我需要添加一个删除按钮来删除所选行的 excel 工作表的行。我试过这个

Private Sub CommandButton3_Click()
Dim i As Integer

For i = 0 To Range("A65356").End(xlUp).Row - 1
If lstDisplay.Selected(i) Then
Rows(i).Select
Selection.Delete
End If
Next i
End Sub

但是当我尝试删除例如第 10 行时,它是被删除的第 9 行,它总是删除所选行之前的行

任何修复???

感谢大家

最佳答案

我必须自己测试一下,但我猜想是这样的:

Private Sub CommandButton3_Click()

Dim i As Long, rng As Range
With Me.lstDisplay
For i = 0 To .ListCount - 1
If .Selected(i) Then
If Not rng Is Nothing Then
Set rng = Union(rng, Sheets("Sheet1").Rows(i + 1))
Else
Set rng = Sheets("Sheet1").Rows(i + 1)
End If
End If
Next i
End With

rng.EntireRow.Delete

End Sub

这样,您只需执行一次删除行。

顺便说一句,我预计会有一个多选列表框。如果它不是多选,它将简化代码,因为不需要循环列表框。

关于excel - 从列表框用户窗体中删除一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57993207/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com