0
我有一系列的切片器控制一些数据透视表,这反过来又产生一些饼图。从所选择的切片器项目中,我想自动筛选基础数据集以汇总用于生成饼图的信息。到目前为止,我已经设法生成下面的代码,我承认我已经从另一篇文章中收集了这里:AutoFilter Criteria Using Array (Error) - Too Large String? 下面的代码将AutoFilter数据集,但只使用切片机中选择的最后一个项目,而不是任何其他选择,即如果所有切片机的项目被选中,自动过滤器仅使用最后一个项目而不是完整系列进行过滤。看起来数组元素没有按预期工作。 任何援助感激地接受。 谢谢。基于切片器选择VBA自动过滤数据集
Sub FilterData()
Dim sArr() As String
Dim sCache As SlicerCache
Dim wb As Workbook
Set wb = ThisWorkbook
Set sCache = wb.SlicerCaches("Slicer_Unit")
For Each sItem In ActiveWorkbook.SlicerCaches(sCache.Name).SlicerItems
If sItem.Selected = True Then
ReDim Preserve sArr(0 To sCount)
sArr(sCount) = sItem.Name
sCount = sCount + 1
End If
Next sItem
Sheets("Sheet1").Activate
ActiveSheet.Range("$A$1:$Z$50000").AutoFilter Field:=1, Criteria1:=sArr()
ReDim sArr(0 To 0)
End Sub
杰夫,太感谢你了;您的解决方案已解决我的问题。你不会相信我用这个玩了多久。 Slàintemhath! – GMcNaugh 2015-04-01 07:23:52
很高兴帮助! – Geoff 2015-04-02 12:23:58