Dim pvttable As PivotTable
Private Sub worksheet_change(ByVal target As Range)
If target.Address = ThisWorkbook.Sheets("Soum").Range("C3").Address Then
Select Case ThisWorkbook.Sheets("Soum").Range("C3")
Case "Daily Report"
Call createdailyReport
Case "Weekly Report"
Call createdweeklyReport
Case "Monthly Report"
Call createdmonthlyReport
End Select
End If
End Sub
Sub createdailyReport()
On Error Resume Next
Application.ScreenUpdating = False
For Each pvttable In ThisWorkbook.Sheets("Soum").PivotTables
ThisWorkbook.Sheets("Soum").Range(pvttable.TableRange2.Address).Delete
Next
ThisWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:=ThisWorkbook.Sheets("Dump").Range("A2").CurrentRegion.Address).CreatePivotTable tabledestination:=ThisWorkbook.Sheets("Soum").Range("C6"), tablename:="Pivottable1"
With ThisWorkbook.Sheets("Soum").PivotTables("Pivottable1")
.PivotFields("Date").Orientation = xlRowField
.PivotFields("Agent Name").Orientation = xlPageField
'
.PivotFields("ACD Calls").Orientation = xlDataField
.PivotFields("Avg ACD Time").Orientation = xlDataField
.PivotFields("Sum of ACD Calls").Caption = "Total ACD Calls"
.PivotFields("Sum of Avg ACD Time").Caption = "Average ACD Time"
End With
End Sub
Sub createdmonthlyReport()
On Error Resume Next
Application.ScreenUpdating = False
For Each pvttable In ThisWorkbook.Sheets("Soum").PivotTables
ThisWorkbook.Sheets("Soum").Range(pvttable.TableRange2.Address).Delete
Next
ThisWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:=ThisWorkbook.Sheets("Dump").Range("A2").CurrentRegion.Address).CreatePivotTable tabledestination:=ThisWorkbook.Sheets("Soum").Range("C6"), tablename:="Pivottable1"
With ThisWorkbook.Sheets("Soum").PivotTables("Pivottable1")
.PivotFields("Date").Orientation = xlRowField
Sheets("Soum").Range("C8").Select
Selection.Group Start:=True, End:=True, Periods:=Array(False, False, False, False, True, False, False)
.PivotFields("Agent Name").Orientation = xlPageField
'.PivotFields("ACD Calls").Orientation = xlColumnField
.PivotFields("ACD Calls").Orientation = xlDataField
.PivotFields("Avg ACD Time").Orientation = xlDataField
.PivotFields("Sum of ACD Calls").Caption = "Total ACD Calls"
.PivotFields("Sum of Avg ACD Time").Caption = "Average ACD Time"
' .PivotFields("Date").LabelRange.Group Start:=True, End:=True, Periods:=Array(False, False, False, _
'False, True, False, False)
End With
End Sub
Sub createdweeklyReport()
'On Error Resume Next
Application.ScreenUpdating = False
For Each pvttable In ThisWorkbook.Sheets("Soum").PivotTables
ThisWorkbook.Sheets("Soum").Range(pvttable.TableRange2.Address).Delete
Next
ThisWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:=ThisWorkbook.Sheets("Dump").Range("A2").CurrentRegion.Address).CreatePivotTable tabledestination:=ThisWorkbook.Sheets("Soum").Range("C6"), tablename:="Pivottable1"
With ThisWorkbook.Sheets("Soum").PivotTables("Pivottable1")
.PivotFields("Date").Orientation = xlRowField
Sheets("Soum").Range("C8").Select
Selection.Group Start:=True, End:=True, by:=7, Periods:=Array(False, _
False, False, True, False, False, False)
.PivotFields("Agent Name").Orientation = xlPageField
'.PivotFields("ACD Calls").Orientation = xlColumnField
.PivotFields("ACD Calls").Orientation = xlDataField
.PivotFields("Avg ACD Time").Orientation = xlDataField
.PivotFields("Sum of ACD Calls").Caption = "Total ACD Calls"
.PivotFields("Sum of Avg ACD Time").Caption = "Average ACD Time"
' .PivotFields("Date").LabelRange.Group Start:=True, End:=True, Periods:=Array(False, False, False, _
'False, True, False, False)
End With
End Sub
For file:
https://drive.google.com/file/d/0B23eJ2xd9ODybUFMaEVYbnE4WDQ/edit?usp=sharing
No comments:
Post a Comment