2017-04-21 217 views
0

我想从ComboBox中获取数据,您可以在其中选择多个数据。VBA从组合框中获取多个数据

我的代码如下:

Dim ind As Integer 
Dim bl As Boolean 
ind = 0 
While ind < Forms!Rec!CONTACT.ListCount 
bl = Forms!Rec!CONTACT.Selected(ind) 
If bl Then 
txt1 = txt1 + "Contact : " & Forms!Rec!CONTACT.Column(4, ind) & " " & Forms!Rec!CONTACT.Column(2, ind) & vbCrLf & Forms!Rec!CONTACT.Column(3, ind) & vbCrLf & Forms!Rec!CONTACT.Column(6, ind) 
End If 
ind = ind + 1 
Wend 

出于某种原因,布尔值始终为false。

任何想法?

在此先感谢

+0

以上代码位于何处?这个代码执行时,表单是否仍然被加载? –

+0

我刚刚意识到我打算打招呼...... 该代码位于另一个代码中,旨在从表单中的数据生成一个powerpoint。当我运行代码时,表单仍然是打开的。 – Guillaume1077

+0

我认为你只能在一个ComboBox中选择一个项目。您可能想要使用ListBox来代替。 –

回答

0

我终于发现错了什么。

您必须使用ComboBox.OldValue而不是Selected或ItemsSelected。

使用此特定函数,您将拥有一个包含所选项目所有位置的数组。

感谢您的帮助;)