3

我正在尝试在 VBA 中创建、放置和填充 ComboBox 的元素。我不明白我错过了什么,但我无法弄清楚该怎么做。我的 API 中没有(即我MSForms无法编写Dim someComboBox As MSForms.ComboBox,因为它失败了。是否可以以某种方式导入它?有人可以指出我正确的方向吗?

我想要实现的是,当用户单击按钮时,会使用各种项目(组合框、单选按钮等)创建一个新表单,因此我想以编程方式执行此操作。

4

2 回答 2

14

您可以依赖以下代码:

 Set curCombo = ActiveSheet.Shapes.AddFormControl(xlDropDown, Left:=Cells(1, 1).Left, Top:=Cells(2, 1).Top, Width:=100, Height:=20)
 With curCombo
        .ControlFormat.DropDownLines = 2
        .ControlFormat.AddItem "Item 1", 1
        .ControlFormat.AddItem "item 2", 2
        .Name = "myCombo"
        .OnAction = "myCombo_Change"
 End With
于 2013-07-16T12:54:43.947 回答
0

您需要对 Microsoft Forms 2.0 对象库的引用。一个简单的方法是在您的项目中插入一个用户窗体。

或者,在工具/参考对话框中找到此参考。

您可以以编程方式创建用户窗体、组合框等,但插入用户窗体并在需要时将其隐藏会更容易。如果需要,您仍然可以以编程方式向其中添加新控件。

添加了表单对象库不会让您创建全新的表单和控件。您需要Microsoft Visual Basic for Applications 可扩展性库。这个链接很旧,但仍然相关。

于 2013-07-16T12:54:51.853 回答