输出列表框到多个单元用于自动filter数组

所以我有一个多选列表框,用户可以select要在数据集中过滤的区域。

我目前使用这个子输出到一个单元格的select:

Dim listItems As String, i As Long With RegionListBox For i = 0 To .ListCount - 1 If .Selected(i) Then listItems = listItems & .List(i) & ", " Next i End With Range("AA1") = Left(listItems, Len(listItems) - 2) 

在macros用户运行后更新他们的工作簿,我想申请一个filter使用我已经从列表框输出的值。 目前这是我如何做到的:

 Worksheets("4. Booking Summary").Range("$A$1:$G$1000" _ ).AutoFilter Field:=4, Criteria1:=(Range("$AA$1").Value),` Operator:=xlFilterValues 

不幸的是,这不起作用,就像用户select了多个选项一样,AA1中的输出将被格式化为“文本,文本,文本” 。 当它尝试应用此filter时,它将应用具有该完整string的文本filter。 为了具有所需的function,需要使用每个选定项目的数组进行过滤。

我有点卡住如何实现这一点。 我的想法是我需要输出每个列表框select到一个单元格,然后将autofilter标准设置为引用这些单元格的数组。 我只是不知道如何做到这一点。 欢迎任何build议。

你可以使用Split()来创build一个数组:

 Criteria1:=Split(Range("$AA$1").Value,", ")