【问题标题】:Excel combobox limit to listExcel 组合框限制到列表
【发布时间】:2015-11-18 02:50:17
【问题描述】:

我有一个涉及组合框的项目。一天中的每个小时都有一个记录,每个小时都有一个用于列出相关问题代码的组合框。如果在任何给定小时内有多个问题,用户可以单击复选框来添加额外的行,包括额外的组合框。我想确保所有组合框都限制在列表中;我可以通过将样式属性更改为样式 2-frmstyledropdownlist 而不是默认的 0-frmstyledropdowncombo 来对现有的 24 条记录集执行此操作。但我不知道如何对由代码创建的附加组合框执行此操作。

这是使用的代码:

    'To add combobox for problems
Set x = ActiveSheet.OLEObjects.Add(ClassType:="Forms.ComboBox.1")
x.Name = cmboxName1
x.Height = Rows(rowOffset).Height
x.Width = Columns("G").Width
x.Left = Columns("G").Left
x.Top = Rows(rowOffset).Top
x.Object.Font.Size = 10

有一些 For..Next 语句来填充组合框,这一切都很好,除了将它们限制在列表中。有人有什么想法吗?提前致谢!

【问题讨论】:

  • 附加组合框的命名代码:HrNum = DataEntry.MultiRowCount(cmBox) rowOffset = DataEntry.ComboCount(cmBox) + 3 + 1 'a needed offset cmboxName1 = cmBox.Name & "DOT" & HrNum
  • 如果有人偶然发现,答案是:x.Object.style=2。

标签: excel drop-down-menu combobox vba


【解决方案1】:

你有两个选择。

让用户输入文字,不限于ComboBox的列表:

x.style = fmStyleDropDownCombo

将用户限制在 ComboBox 列表中:

x.style = fmStyleDropDownList

注意fmStyleDropDownCombo 的值为0fmStyleDropDownList 的值为2

【讨论】:

    猜你喜欢
    • 2010-12-14
    • 1970-01-01
    • 2014-04-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多