• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Automatisch verversen draaitabellen

Status
Niet open voor verdere reacties.

Timmiesch

Gebruiker
Lid geworden
14 nov 2007
Berichten
630
Hoe kan ik in een excel werkblad alle draaitabellen automatisch laten verversen?

Heb een macro waarmee dat kan, maar dan moet ik elke keer de macro starten en dat wil ik niet hoeven gebruiken. Is er iemand met een oplossing?
 
Hoe kan ik in een excel werkblad alle draaitabellen automatisch laten verversen?

Heb een macro waarmee dat kan, maar dan moet ik elke keer de macro starten en dat wil ik niet hoeven gebruiken. Is er iemand met een oplossing?

Wil je het helemaal zonder macro doen of wil je niet steeds de macro zelf aanroepen?

Met vriendelijke groet,


Roncancio
 
Alle 2 de opties mogen. Ik wil gegevens kunnen blijven invoeren en dat tegelijkertijd de gegevens in de draaitabellen bijgewerkt worden.

Hoe zou het zonder macro kunnen dan?
 
Ik zou 't persoonlijk niet doen via het worksheet_change event. Dit maakt het invoeren hopeloos traag gok ik zo en lijkt me ook overbodig om bij iedere verandering de pivot opnieuw op te moeten bouwen.
Bij mijn oplossing ligt het er aan of je je Pivot op een aparte sheet van je tabel hebt staan. Als dat zo is zou je kunnen 'refreshen' op het worksheet_activate event. Dus zodra je op die sheet wilt gaan kijken hoe je nieuwe invoer(en) er uit zien, wordt de boel geupdate.

Groet, Leo
 
Leo, dat is wat ik kan gebruiken.
Op Tabblad 1 vult mijn medewerker de gegevens in en op tabblad 2 staan de draaitabellen en in 3 de grafieken.

ZOu je mij kunnen vertellen hoe ik het kan krijgen zoals jij zegt?
 
Als voorbeeldje voor de draaitabellen...
Code:
Private Sub Worksheet_Activate()

        ActiveSheet.PivotTables("PivotTable1").PivotCache.Refresh

End Sub
Wijzig het "PivotTable1" in de code regel in de naam die de pivot heeft in jouw sheet. De code zet je weg in de sheet van de pivot table!

Groet, Leo
 
Een Worksheet_Activate event met deze code doet het wel:

Code:
Sub Worksheet_Activate()
    ActiveSheet.PivotTables("[COLOR="Blue"]Draaitabel2[/COLOR]").PivotCache.Refresh
End Sub

Deze code hang je aan je tabblad onderin (rechtermuisknop, Programmacode weergeven, code inkopieren).

Uiteraard wel de juiste naam van je pivottable gebruiken.

Suc6

edit: Te laat........
 
Laatst bewerkt:
Hoe is de code als je in een keer alle Pivot tables in 1 tabblad wil laten bijwerken?
 
Dan herhaal je de regel ene code

Code:
ActiveSheet.PivotTables("[COLOR="Blue"]Draaitabel2[/COLOR]").PivotCache.Refresh

voor iedere draaitabel op dat tabblad, waarbij je de naam van de pivottable aanpast. Je krijgt dan zoiets als dit

Code:
ActiveSheet.PivotTables("[COLOR="Blue"]Draaitabel2[/COLOR]").PivotCache.Refresh
ActiveSheet.PivotTables("[COLOR="Blue"]Draaitabel3[/COLOR]").PivotCache.Refresh
ActiveSheet.PivotTables("[COLOR="Blue"]Draaitabel4[/COLOR]").PivotCache.Refresh

Er zal vast wel een slimmere methode zijn maar deze moet vlgs mij ook wel werken.
 
Laatst bewerkt:
Gert Bouwmeeste zei:
Er zal vast wel een slimmere methode zijn maar deze moet vlgs mij ook wel werken
...inderdaad, maar het kan mooier...:)
Code:
Private Sub Worksheet_Activate()
Dim pt As PivotTable

    For Each pt In ActiveSheet.PivotTables
        pt.PivotCache.Refresh
    Next pt

End Sub

Groet, Leo
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan