2017-09-26 57 views

回答

1

您可以使用此方法VBA存储在字符串中选择所有的值(你可以调整代码以您的需求)。为了执行代码,您需要将它分配给列表框宏或工作表中的其他形状。

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 

enter image description here

+0

这个人谁救了我的一天100分。 – miny1997

+1

不客气:)干杯 –

+0

我试过测试这个解决方案,但ListBoxes()没有定义。我使用Excel 2010. – miny1997

0

请看看这个链接。

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

我认为你需要做这样的事情。 。 。

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

如果列表框中包含日期列表:

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

注意,单引号已经通过哈希标记将取代(红色标记)。将得到的IN()子句看起来像这样:

WHERE tblStaff [出生日期] IN(#9 /一千九百五十○分之二十七#,#1968年2月7日#,#6/19/1977年#)

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

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