【问题标题】:Clear items selected from ListBox清除从 ListBox 中选择的项目
【发布时间】:2014-01-30 02:23:00
【问题描述】:

我正在尝试使用 Excel 宏创建一个简单的表单。此表单将用于输入将存储在 Sheet2 中的数据。保存数据后,我想清除表单中的内容。我已经能够为除了列表框之外的大多数输入框实现这一点。下面是我试图实现此功能的代码。

     Dim clearlstbox As Long

      With AOI
       For clearlstbox = .ListCount - 1 To 0 Step -1
         If .Selected(clearlstbox) = True Then
        .RemoveItem clearlstbox
         End If
       Next clearlstbox
      End With

   '
   'For clearlstbox = AOI.ListCount - 1 To 0 Step -1
   '    If AOI.Selected(clearlstbox) = True Then
   '        AOI.RemoveItem (clearlstbox)
   '    End If
   'Next

这两个代码都会引发类似的错误消息“运行时错误'-2147467259 (80004005) unspecified error”

【问题讨论】:

  • 您是要从列表框中实际删除选定的项目还是取消选择它们?
  • 从列表框中取消选择它们。

标签: vba excel listbox


【解决方案1】:

取消选择列表框中的所有项目

For clearlstbox = 0 To AOI.ListCount - 1
    AOI.Selected(clearlstbox) = False
Next

【讨论】:

    【解决方案2】:

    您可以通过运行以下命令取消选择列表框中的任何选定值:

    Me.Listbox1.Value = ""
    

    其中“Listbox1”是您的列表框的名称

    要清除多选列表框,请使用以下代码:

    Me.listbox1.MultiSelect = fmMultiSelectSingle
    Me.listbox1.Value = ""
    Me.listbox1.MultiSelect = fmMultiSelectMulti
    

    这会将其设置为单选以清除它,然后返回为您的原始功能的多选

    【讨论】:

    • 有没有办法像取消选择一样简单地选择所有项目?而要让 .value = "" 工作,难道 .BoundColumn 也必须设置为 0 吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-06
    • 1970-01-01
    • 2014-06-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多