【发布时间】:2019-05-23 01:31:59
【问题描述】:
我的目标是使用另一个工作表中的范围过滤数据透视表。
我的支点在 Worksheets("Aging Report") 中。
我要过滤的参考数据位于 A2 列及 Worksheets("Instructions") 中。
以下代码适用于没有数据透视表的表。
我需要从 A2 中获取值,然后过滤(“客户 ID”)并在 Excel 中导出并保存等等,然后使用 A3、A4、A5 中的值。
Sub Pivotfilter()
Dim varItemsToReplace As Variant
Dim varItem As Variant
Dim wksSource As Worksheet
Dim wksDest As Worksheet
Dim rngSource As Range
Dim rngSource2 As Range
Dim rngCell As Range
Set wksSource = Worksheets("Instructions")
Set wksDest = Worksheets("Aging Report")
With wksSource
Set rngSource = .Range("A2:A" & .Cells(.Rows.Count, "A").End(xlUp).Row)
End With
For Each rngCell In rngSource
With wksDest
ActiveSheet.PivotTables("PivotTable40").PivotFields ("Client ID")
.PivotFields(rngCell.Value).Visible = True
Dim wb As Workbook
Set wb = Workbooks.Add
Windows("XXXXXXX").Activate
Sheets("Aging Report").Select
Sheets("Aging Report").Copy Before:=wb.Sheets(1)
wb.SaveAs "C:\Users\XXX\Desktop\SOA\" & .Range("B3").Value & " - " & .Range("B4").Value & ".xlsx"
wb.Close
Windows("XXXXXXX.xlsm").Activate
End With
Next rngCell
End Sub
【问题讨论】:
标签: excel vba loops pivot-table