VbA vereenvoudigen en draaigrafieken sneller maken?

Status
Niet open voor verdere reacties.

Lisette2016

Gebruiker
Lid geworden
10 okt 2016
Berichten
46
Wederom een vraag,

Ik heb een bestand met 12 draaigrafieken.
Het is daarom een zwaar bestand geworden. Er zijn binnen de grafieken 5 verschillende facturatiecenters , allen met hun eigen gegevens.
één van de facturatie centers is Fuj.
Om over te schakelen naar hun gegevens en grafieken heb ik een macro gemaakt.
Deze werkt op zich goed maar is wel erg traag.
Misschien valt er tijdwinst te behalen met de vba code?

Sub Fuj()
'
' Fuj Macro
'

'

Application.ScreenUpdating = False
Application.Run _
"'02. Historische overzichten (Master).xlsm'!Zichtbaar_Maken_Tabbladen"
Sheets("Facturatie Totaal").Select
ActiveSheet.PivotTables("Draaitabel3").PivotFields("Facturatie Locatie"). _
ClearAllFilters
ActiveSheet.PivotTables("Draaitabel3").PivotFields("Facturatie Locatie"). _
CurrentPage = "Fuj"
Range("B5").Select
ActiveSheet.PivotTables("Draaitabel3").PivotCache.Refresh
Sheets("Urengebruik per maand").Select
ActiveSheet.PivotTables("Draaitabel4").PivotFields("Facturatie Locatie"). _
ClearAllFilters
ActiveSheet.PivotTables("Draaitabel4").PivotFields("Facturatie Locatie"). _
CurrentPage = "Fuj"
Range("B3").Select
ActiveSheet.PivotTables("Draaitabel4").PivotCache.Refresh
Sheets("Urenfacturatie per maand").Select
ActiveSheet.PivotTables("Draaitabel2").PivotFields("Facturatie Locatie"). _
ClearAllFilters
ActiveSheet.PivotTables("Draaitabel2").PivotFields("Facturatie Locatie"). _
CurrentPage = "Fuj"
Range("B4").Select
ActiveSheet.PivotTables("Draaitabel2").PivotCache.Refresh
Sheets("Uren Registratie Easykey").Select
ActiveSheet.PivotTables("Draaitabel3").PivotFields("Facturatie Locatie"). _
ClearAllFilters
ActiveSheet.PivotTables("Draaitabel3").PivotFields("Facturatie Locatie"). _
CurrentPage = "Fuj"
Range("B9").Select
ActiveSheet.PivotTables("Draaitabel3").PivotCache.Refresh
Sheets("Schade per facturatiecenter").Select
ActiveSheet.PivotTables("Draaitabel7").PivotFields("Facturatie Locatie"). _
ClearAllFilters
ActiveSheet.PivotTables("Draaitabel7").PivotFields("Facturatie Locatie"). _
CurrentPage = "Fuj"
Range("B4").Select
ActiveSheet.PivotTables("Draaitabel7").PivotCache.Refresh
Sheets("Aantal urentrucks p maand").Select
ActiveSheet.PivotTables("Draaitabel1").PivotFields("Facturatie Locatie"). _
ClearAllFilters
ActiveSheet.PivotTables("Draaitabel1").PivotFields("Facturatie Locatie"). _
CurrentPage = "Fuj"
ActiveSheet.PivotTables("Draaitabel1").PivotSelect "", xlDataAndLabel, True
ActiveSheet.PivotTables("Draaitabel1").PivotCache.Refresh

Sheets("% Trucksoort verdeling").Select
ActiveSheet.PivotTables("Draaitabel5").PivotFields("Facturatie Locatie"). _
ClearAllFilters
ActiveSheet.PivotTables("Draaitabel5").PivotFields("Facturatie Locatie"). _
CurrentPage = "Fuj"
Range("B3").Select
ActiveSheet.PivotTables("Draaitabel5").PivotCache.Refresh
Sheets("% Urenverdeling per Costcenter").Select
ActiveSheet.PivotTables("Draaitabel12").PivotFields("Facturatie Locatie"). _
ClearAllFilters
ActiveSheet.PivotTables("Draaitabel12").PivotFields("Facturatie Locatie"). _
CurrentPage = "Fuj"
Range("B7").Select
ActiveSheet.PivotTables("Draaitabel12").PivotCache.Refresh
Sheets("Kosten schade & eigen risico").Select
ActiveSheet.PivotTables("Draaitabel2").PivotFields("Facturatie Locatie"). _
ClearAllFilters
ActiveSheet.PivotTables("Draaitabel2").PivotFields("Facturatie Locatie"). _
CurrentPage = "Fuj"
Range("B9").Select
ActiveSheet.PivotTables("Draaitabel2").PivotCache.Refresh
Sheets("Kosten schade per trucksoort").Select
ActiveSheet.PivotTables("Draaitabel7").PivotFields("Facturatie Locatie"). _
ClearAllFilters
ActiveSheet.PivotTables("Draaitabel7").PivotFields("Facturatie Locatie"). _
CurrentPage = "Fuj"
Range("B5").Select
ActiveSheet.PivotTables("Draaitabel7").PivotCache.Refresh
Sheets("Facturatie per Costcenter").Select
ActiveSheet.PivotTables("Draaitabel1").PivotFields("Facturatie Locatie"). _
ClearAllFilters
ActiveSheet.PivotTables("Draaitabel1").PivotFields("Facturatie Locatie"). _
CurrentPage = "Fuj"
Range("B4").Select
ActiveSheet.PivotTables("Draaitabel1").PivotCache.Refresh
Sheets("Kosten Schade per draaiuur").Select
ActiveSheet.PivotTables("Draaitabel4").PivotFields("FacturatieCenter"). _
ClearAllFilters
ActiveSheet.PivotTables("Draaitabel4").PivotFields("FacturatieCenter"). _
CurrentPage = "Fuj"
Range("B3").Select
ActiveSheet.PivotTables("Draaitabel4").PivotCache.Refresh
ActiveWindow.ScrollWorkbookTabs Position:=xlFirst
Sheets("Grafieken").Select
Application.Run _
"'02. Historische overzichten (Master).xlsm'!Verbergen_Tabbladen"
Application.ScreenUpdating = True
Sheets("Grafieken").Select
Range("A1:K1").Select
ActiveCell.FormulaR1C1 = "Fuj"
Range("M15").Select

End Sub
 
Doe ons een lol en maak de bovenstaande code op met de CODE knop. Zo is het nauwelijks leesbaar. Nog afgezien van de muisarm die we er aan over houden :).
 
Waarom gebruik je in de meeste gevallen 'Facturatie Locatie' en in in 1 draaitabel 'FacturatieCenter'?

Anders had je er zoiets van kunnen maken
Code:
Sub VenA()
For Each sh In Sheets
    For Each pt In sh.PivotTables
        pt.PivotFields("Facturatie Locatie").ClearAllFilters
        pt.PivotCache.Refresh
        pt.PivotFields("Facturatie Locatie").CurrentPage = "Fuj"
    Next pt
Next sh
End Sub
 
Laatst bewerkt:
Scheelt een paar meter code;)

Wil je de vraag nog even op opgelost zetten?
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan