【问题标题】:In Excel can a listbox have a drop down instead of the scroll bar?在 Excel 中,列表框可​​以有一个下拉菜单而不是滚动条吗?
【发布时间】:2015-08-17 19:11:35
【问题描述】:

我将电子表格中的一些组合框替换为列表框,以便用户可以选择多个项目。我遇到的问题是我有一个很长的项目列表,我没有空间让列表框显示多行。如果我可以使列表框看起来像一个组合框,并且能够选择多个项目,那将是最好的。我似乎找不到使列表框具有下拉菜单的属性。

图中中间的控件是列表框,可以看到滚动条。像这样滚动浏览 30 个项目是不切实际的。有没有一个属性可以给它一个下拉菜单,比如组合框?

谢谢。

【问题讨论】:

  • 我从未见过。您可以编写代码以使更高的列表框出现在被单击的列表框下方。让它在点击时出现,但不确定您何时希望它消失。或者你可以在点击时调整它的大小。
  • 真的没有空间吗?您的表单是否已经有一个您正在使用的滚动条? (意味着它比用户的屏幕高)
  • 告诉我... "All" 旁边的项目是否是复选框?你能发布你的代码吗?
  • @Nicolas "ALL" 旁边的复选框是列表框的属性,将 ListStyle 设置为 1 - fmListStyleOption 以启用复选框。

标签: vba excel listbox


【解决方案1】:

I decided the best way for me would be to add an item in the combobox called 'multiple' that when selected opens a userform with a listbox that lets the user select multiple items.我将所有选定的项目放入一个数组中,然后将它们传递回工作表。它不像我想要的那样简单,但它使工作表保持干净。谢谢你的帮助。

【讨论】:

    【解决方案2】:

    我认为这是不可能的,所以这不是一个直接的答案,但你可以拥有的下一个最好的东西是组合旁边的锁定文本框。如果您想显示他们选择的结果,用户可以单击组合中的某些内容,文本框会这样写:

    optionA
    

    如果用户从组合中选择第二个,文本框会附加第二个:

    optionA; optionB
    

    有点像电子邮件收件人。

    旁边有一个小按钮,以便用户在出错时可以清除文本框。

    如果需要,我可以帮助编写代码。

    【讨论】:

      猜你喜欢
      • 2015-09-30
      • 1970-01-01
      • 2020-11-19
      • 1970-01-01
      • 2014-09-02
      • 2016-11-06
      • 1970-01-01
      • 1970-01-01
      • 2016-12-16
      相关资源
      最近更新 更多