excel - 数据透视表过滤器没有数据 VBA
问题描述
我有 VBA 代码,它将数据透视表中的过滤数据放入工作表中的单独选项卡中。一切正常,直到由于没有任何数据而无法通过 Initials 过滤数据。我在下面尝试了一个 if 语句,但这不起作用 - 挠头('过滤数据透视表)。
Sub ReportCreation(Initials As String, Name As String)
Debug.Print Initials
Debug.Print Name
'Delete old Sales Reps Sheets
Application.DisplayAlerts = False
On Error Resume Next
ActiveWorkbook.Sheets(Initials).Delete
On Error GoTo 0
Application.DisplayAlerts = True
'Copies the Sales Template to new Tab
ActiveWorkbook.Sheets("SalesTemplate").Copy after:=ActiveWorkbook.Sheets("SalesTemplate")
ActiveSheet.Name = Initials
'Add Sales Reps Name to Report
ActiveSheet.Cells.Range("A4").Value = Name
'Filter Pivot Table
Application.ScreenUpdating = False
ActiveWorkbook.Sheets("Pivot Table").PivotTables("PivotTable1").ManualUpdate = True
ActiveWorkbook.Sheets("Pivot Table").PivotTables("PivotTable1").PivotFields("Rep.").ClearAllFilters
With ActiveWorkbook.Sheets("Pivot Table").PivotTables("PivotTable1").PivotFields("Rep.").CurrentPage = Initials
If CurrentPage = 0 Then Resume Next Else CurrentPage = Initials
End With
ActiveWorkbook.Sheets("Pivot Table").PivotTables("PivotTable1").ManualUpdate = False
Application.ScreenUpdating = True
'Copy Pivot Table results to new Sales Rep tab
ActiveWorkbook.Sheets("Pivot Table").Select
Range("A4:F4").Select
'Rows("4:5").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Sheets(Initials).Select
Range("A7").Select
ActiveSheet.Range("A7").PasteSpecial Paste:=xlPasteValues
Sorting (Initials)
End Sub
解决方案
推荐阅读
- php - Laravel Lighthouse 配置 - 无法找到可发布的资源
- nodatime - 如何确保 NodaTime 对象始终“字符串化”为 ISO 格式?
- kotlin - How can I define Map of String or Int in Kotlin?
- flutter - 为什么捕获此异常不起作用?
- python - 在 Python 中检测重叠高斯分布的质心
- rabbitmq - 如何在任务管理器中识别rabbitmq进程?
- java - 在java中使用hashmap检查ip地址(用户输入)的重复值
- javascript - 角度转换日期数组
- python - 在python中获取韩文字符串
- ruby-on-rails - 没有路由匹配 [GET] "/javascripts/active_admin.js