【发布时间】: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