我怎样才能获得我的Excel表单上的列表字段的多个值?

对于Excel查询工具,我需要从我的Excel工作表(不是用户表单)上的“开发人员工具>插入>表单控件元素”粘贴的多选列表字段中获取所有选定的值。

我的列表字段

您可以使用此VBA方法来存储在string中select的所有值(您可以根据需要调整代码)。 为了执行代码,您需要将其分配给列表框macros或工作表中的其他形状。

Sub ListBoxSelected() Dim i As Long With ActiveSheet.ListBoxes("List Box 1") For i = 1 To .ListCount If .Selected(i) Then allselected = Range("A" & i).Value & ", " & allselected End If Next i MsgBox "Selected: " & allselected 'you can adjust this part to do what you want with selected values End With End Sub 

在这里输入图像说明

请看看这个链接。

http://www.fontstuff.com/access/acctut18.htm

我想你需要做这样的事情。 。 。

 For Each varItem In Me.lstOffice.ItemsSelected strOffice = strOffice & ",'" & Me.lstOffice.ItemData(varItem) _ & "'" Next varItem 

如果列表框中包含date列表:

 For Each varItem In Me.lstBirthDate.ItemsSelected strBirthDate = strBirthdate & ",#" & Me.lstBirthDate.ItemData(varItem) & "#" Next varItem 

请注意,单引号已被散列标记replace(标记为红色)。 生成的IN()子句看起来像这样:

(出生date)IN(#9/27/1950#,#2/7/1968#,#6/19/1977#)

如果列表框中包含一个数字列表:

 For Each varItem In Me.lstID.ItemsSelected strID = strID & "," & Me.lstID.ItemData(varItem) Next varItem