gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 20:12:11 25 4
gpt4 key购买 nike

我已经离开 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com