首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >清除列表框和列表中的任何选定项

清除列表框和列表中的任何选定项
EN

Stack Overflow用户
提问于 2022-08-29 02:09:16
回答 1查看 57关注 0票数 0

我有一个Excel应用程序,它遍历工作表中包含工作表上的产品订单的工作表,并在工作表中搜索与搜索工作表中填充的各种条件相匹配的订单。然后,此工作表的内容将显示在列表框中。有几个用户表单允许用户选择订单,然后操作订单。完成此操作后,所操作的顺序可能不符合搜索条件,因此我希望清除列表框中的内容和选定的行。我试过无数次,但似乎没有什么效果。我最新的一份清单是:

代码语言:javascript
运行
复制
Private Sub ClearListBox()
    UserForm5.lstOpenO.ListIndex = -1
    UserForm5.lstOpenO.RowSource = ""
End Sub

但是,我已经尝试将所有行的UserForm5.lstOpenO.Selected设置为false。我已经尝试过清除搜索工作表,然后显示只应该在列上显示标题的内容,但是所选行中的突出显示仍然存在。

任何帮助都将不胜感激。

布鲁斯

EN

回答 1

Stack Overflow用户

发布于 2022-08-29 07:25:51

首先,您不应该在代码中使用userform的默认实例。这会导致矛盾的行为

我建议

代码语言:javascript
运行
复制
Private Sub ClearSelectionInListBox()
Dim varItm as variant
   With lstOpen0
        varItm = .MultiSelect
        .MultiSelect = 0
        .MultiSelect = 1
        .MultiSelect = varItm
   End With
End Sub

这将清除列表框中的选择。

现在还不清楚你是否真的想清除内容。因为如果您愿意,那么考虑清除所选内容是没有意义的。

如果要清除列表框,则不需要首先清除所选内容。

代码语言:javascript
运行
复制
Private ClearListBox()
    With lstOpen0
        .RowSource = ""
        .Clear
    End With
End Sub

但在那之后,你需要再次填写列表框。

进一步阅读

VBA用户表单

Userform.Show

ListBox

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73523552

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档