gpt4 book ai didi

vba - 动态范围和一个静态项目通过 VBA 到 ComboBox

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

我有这个代码:

With Sheet1.Shapes("comboBox1").ControlFormat
.ListFillRange = "namedRange"
.AddItem "1.Item"
End With

但在那之后,我的 Combo-Box 中只有“1.Item”。并且动态范围根本没有出现。

如何添加 一个 Item和我的 RangeCombo-Box ?

编辑

动态 range如果我删除 .AddItem 会起作用:
With Sheet1.Shapes("comboBox1").ControlFormat
.ListFillRange = "namedRange"
End With

我的问题是是否有可能将它们组合在一起,而不是在一个范围内,而是彼此分开。

非常感谢您的回答...

最佳答案

如果我正确理解了您的帖子,您希望在“namedRange”中的项目中添加另一个项目,并在工作表 ComboBox(实际上是工作表中的下拉菜单)中显示所有这些项目。

(将“Sheet2”修改为您的工作表名称)。

Sub PopulateCombo_fromArray()

Dim ComboArray As Variant

'clear Combo-Box from previous runs >> modify "Sheet2" to your sheet's name
Worksheets("Sheet2").Shapes("ComboBox1").ControlFormat.RemoveAllItems

' reading the NamedRange into a 1-dimension array
ComboArray = Application.Transpose(Range("namedRange").Value)

ReDim Preserve ComboArray(UBound(ComboArray))
' add another element to the array (outside the "namedRange")
ComboArray(UBound(ComboArray)) = "1.Item"

' populate "ComboBox1" with array
Worksheets("Sheet2").Shapes("comboBox1").ControlFormat.List = ComboArray

End Sub

关于vba - 动态范围和一个静态项目通过 VBA 到 ComboBox,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41243618/

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