我正在尝试设置一个宏来根据用户定义的范围过滤数据透视表。
到目前为止,我所拥有的只是获得射程的提示。不幸的是,我不知道如何从范围中取值并将其应用于过滤器。谢谢你的帮助!
Sub foreachloop()
Dim wbmodel As Excel.Workbook
Set wbmodel = ActiveWorkbook
Dim rng As Range
Dim Filter As String
With wbmodel.Sheets("Pivot_model").PivotTables("Modelpivot")
.ClearAllFilters
Set rng = Application.InputBox("select Range", "Inputs", Type:=8)
Filter = Application.InputBox("select Filter", "Inputs", Type:=8)
MsgBox rng.Address
MsgBox Filter
For Each PivotItem In .PivotFields(Filter).PivotItems
Select Case PivotItem.Name
Case rng
PivotItem.Visible = True
Case Else
PivotItem.Visible = False
End Select
Next PivotItem
End With
End Sub
确定。所以我做了一些(轻微的)更新。我制作了我的第一个“For Each”循环。现在,我知道我需要做一个类似的“for each”循环来应用过滤器。我一直在与代码争斗几个小时,我不确定下一步该去哪里。