Listing 1: PivotTable.vbs Set Xl = CreateObject("Excel.Application") Xl.Workbooks.Add : Xl.Visible = TRUE : Xl.Sheets.Add.Name = _ "Quarterly Bills" Xl.Cells(1,1).Value = "Name" : Xl.Cells(1,2).Value = "Description" Xl.Cells(1,3).Value = "Quarter" : Xl.Cells(1,4).Value = "Amount" ' BEGIN CALLOUT A Randomize For i = 2 to 100 Xl.Cells(i,4).Value = Round(20 * rnd()) Select Case Round(2 * rnd()) Case 0 Xl.Cells(i,1).Value = "Judy" Case 1 Xl.Cells(i,1).Value = "Jack" Case 2 Xl.Cells(i,1).Value = "Joe" End Select Select Case Round(2 * rnd()) Case 0 Xl.Cells(i,2).Value = "Telephone" Case 1 Xl.Cells(i,2).Value = "Water" Case 2 Xl.Cells(i,2).Value = "Electricity" End Select Select Case Round(3 * rnd()) Case 0 Xl.Cells(i,3).Value = 1 Case 1 Xl.Cells(i,3).Value = 2 Case 2 Xl.Cells(i,3).Value = 3 Case 3 Xl.Cells(i,3).Value = 4 End Select lastrow = i Next ' END CALLOUT A ' BEGIN CALLOUT B Xl.Sheets.Add.Name = "Summary" Xl.Sheets("Quarterly Bills").Select ' END CALLOUT B ' BEGIN CALLOUT C Xl.ActiveSheet.PivotTableWizard SourceType = _ xlDatabase,xl.Range("A1" & ":" & "D" & _ lastrow),"Summary!R1C1","Quarterly Bills" ' END CALLOUT C ' BEGIN CALLOUT D Xl.ActiveSheet.PivotTables("Quarterly Bills").PivotFields _ ("Name").Orientation = 1 Xl.ActiveSheet.PivotTables("Quarterly Bills").PivotFields _ ("Description").Orientation = 1 Xl.ActiveSheet.PivotTables("Quarterly Bills").PivotFields _ ("Quarter").Orientation = 2 Xl.ActiveSheet.PivotTables("Quarterly Bills").PivotFields _ ("Amount").Orientation = 4 ' END CALLOUT D ' BEGIN CALLOUT E Xl.ActiveWorkbook.ShowPivotTableFieldList = False ' END CALLOUT E Xl.Application.CommandBars("PivotTable").Visible = False Set xl = nothing MsgBox "Done"