excel - 在代码中添加多个组合框

标签 excel combobox activex vba

我已经离开 VBA 几年了,正在尝试在 VBA 代码中构建多个组合框。

我可以让代码适用于单个组合框,但在添加第二个组合框时遇到问题。

下面是我最新的代码。此代码添加组合框,但不填充下拉列表,并且还会生成“对象不支持此属性或方法”错误。

任何想法或意见都将受到高度赞赏。

Sub CreateComboBoxes()
    Dim cbox1 As OLEObject
    Dim cbox2 As OLEObject

  Set cbox1 = ActiveSheet.OLEObjects.Add(ClassType:="Forms.ComboBox.1", Link:=False, DisplayAsIcon:=False, _
       Left:=20, Top:=30, Width:=100, Height:=20)

  Set cbox2 = ActiveSheet.OLEObjects.Add(ClassType:="Forms.ComboBox.1", Link:=False, DisplayAsIcon:=False, _
        Left:=150, Top:=30, Width:=100, Height:=20)

        Sheets("Dashboard").cbox1.Clear
              Sheets("Dashboard").cbox1.AddItem "NYC"
              Sheets("Dashboard").cbox1.AddItem "London"
              Sheets("Dashboard").cbox1.AddItem "Tokyo"


        Sheets("Dashboard").cbox2.Clear   
              Sheets("Dashboard").cbox2.AddItem "One"
              Sheets("Dashboard").cbox2.AddItem "Two"
              Sheets("Dashboard").cbox2.AddItem "Three"


 End Sub

编辑:链接的存档问题仅适用于单个组合框,我正在尝试添加多个组合框。我可以让它适用于单个组合框,但在获取代码来创建两个组合框时遇到问题。

最佳答案

如果将 cbox1 和 cbox2 定义为对象,则可以操作其下拉值。您的代码应如下所示:

Sub CreateComboBoxes()
    Dim cbox1 As Object
    Dim cbox2 As Object

    Set cbox1 = ActiveSheet.OLEObjects.Add(ClassType:="Forms.ComboBox.1", Link:=False, DisplayAsIcon:=False, _
        Left:=20, Top:=30, Width:=100, Height:=20).Object

    Set cbox2 = ActiveSheet.OLEObjects.Add(ClassType:="Forms.ComboBox.1", Link:=False, DisplayAsIcon:=False, _
        Left:=150, Top:=30, Width:=100, Height:=20).Object

    cbox1.Clear
    cbox1.AddItem "NYC"
    cbox1.AddItem "London"
    cbox1.AddItem "Tokyo"

    cbox2.Clear
    cbox2.AddItem "One"
    cbox2.AddItem "Two"
    cbox2.AddItem "Three"

End Sub

关于excel - 在代码中添加多个组合框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36018938/

相关文章:

vba - ADODB 连接线上未设置“91”对象变量/With block

r - 使用 openxlsx 隐藏 Excel 工作簿中的列

jquery - 下拉列表到组合框

c# - 如何将枚举绑定(bind)到 WPF 中组合框的依赖属性?

c++ - 在 ATL ActiveX 控件中嵌入 WTL App

c++ - Pocket PC 上的 MS Web 浏览器

javascript - 使用 Javascript 检测主要插件(Java、Active-X、Flash)的存在

javascript - table2excel jQuery 插件生成的 Excel 文件在打开时抛出错误

python - 使用 python pandas 编辑 excel 文件

wpf - DisplayMemberPath 的 ComboBox 样式问题