我想将组合框中的所有项目存储在变量中。变量应该是什么类型的?我试着做一个
Dim ComboBoxItems() As String ' dynamic array of strings
但是我不知道如何将组合框中的项目复制到这个动态数组中?
我可以循环播放:
for i = 1 to combobox.ListCount - 1
ComboBoxItems(i+1) = combobox.List(i)
next i
(注意,我是对的,它真的很疯狂,动态数组是1索引的,而组合框列表是0索引的吗?)
这是要走的路吗?或者肯定有一种方法可以在没有循环的情况下复制整个列表?
答案 0 :(得分:2)
对于名为Combobox1
的工作表上的ActiveX ComboBox,您可以使用:
Sub Test()
Dim vArr()
ReDim vArr(1 To ComboBox1.ListCount)
vArr = ComboBox1.List
End Sub
具有组合框ComboBox1
和命令按钮CommandButton1
的用户窗体的相同方法
Private Sub CommandButton1_Click()
Dim S()
ReDim S(1 To Me.ComboBox1.ListCount)
S = Me.ComboBox1.List
End Sub
Private Sub UserForm_Initialize()
'Load some items into ComboBox
With Me.ComboBox1
.AddItem "fred, jones'"
.AddItem "mary"
.AddItem "wayne"
End With
End Sub