在 Excel 中,列表框可​​以有一个下拉菜单而不是滚动条吗?

Posted

技术标签:

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

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

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

谢谢。

【问题讨论】:

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

有点像电子邮件收件人。

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

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

【讨论】:

以上是关于在 Excel 中,列表框可​​以有一个下拉菜单而不是滚动条吗?的主要内容,如果未能解决你的问题,请参考以下文章

Excel 在线求助:下拉菜单一对多选择

在EXCEL如何制作树形结构的下拉菜单进行输入到单元格

如何导出excel中下拉菜单的内容?

如何使用poi在excel中添加多选下拉菜单

selenium-获取下拉选择框value默认的文本,而不是下拉框所有的文本值

WPF中combobox显示多列的下拉框