• 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.

draaitabellen verversen

Status
Niet open voor verdere reacties.

brandernl

Gebruiker
Lid geworden
19 okt 2004
Berichten
445
Ik heb een blad met een aantal draaitabellen, allemaal gebaseerd dezelfde gegevensblad.
Maar het lijkt er op dat Excel de gegevens voor elke tabel niet ververst.
Ik ben al aan het knutselen geweest, want ik wil dat de draaitabel "keihard" opnieuw naar het gegevensbereik kijkt.
Code:
Sub Kies()
    Dim Zorggroep As String
    Dim pt As PivotTable
    Dim myRange As Range
    Dim dataRange As Range

    Application.ScreenUpdating = False
    Set myRange = Worksheets("data").Range(Worksheets("data").Range("B2"), Worksheets("data").Range("B65536").End(xlUp))
    Zorggroep = Worksheets("tabellen").Range("H1").Offset(Worksheets("tabellen").Range("J1"))

    If WorksheetFunction.CountIf(myRange, Zorggroep) = 0 And _
       Zorggroep <> Worksheets("tabellen").Range("H24").Value Then
        MsgBox "Er zijn nog geen gegevens van " & Zorggroep, vbExclamation, "Geen gegevens"
        Exit Sub
    Else
        For Each pt In Worksheets("draaitabellen").PivotTables
            pt.PivotFields("zorggroep").CurrentPage = Zorggroep
        Next
    End If

End Sub
Zoiets zou je ergens tussen moeten zetten, maar dat werkt niet
'
Code:
    Worksheets("draaitabellen").PivotTableWizard SourceType:=xlDatabase, SourceData:=dataRange

Alvast dank en een prettig weekeinde
 

Bijlagen

Hallo Bernard,

Ik heb momenteel geen Excel bij de hand om een en ander uit te testen maar ik vermoed dat je ook iets in de zin van

ActiveSheet.PivotTables("Naam van de Draaitabel").RefreshTable

moet opnemen in je code.

Groetjes - Marrosi
 
Correct

Juist!

Jarod.

of je geeft gewoon bij de draaitabel aan dat hij moet updaten bij openen (dit staat in de eigenschappen van de draaitabel) maar dat hangt van de frequentie af.
 
Als het inderdaad het refreshen is, zet dit dan bij in de For .. Next lus:

Code:
For Each pt In Worksheets("draaitabellen").PivotTables
            pt.RefreshTable 'hier dus bij zetten
            pt.PivotFields("zorggroep").CurrentPage = Zorggroep
        Next

Wigi
 
Dank voor jullie suggesties, maar ik ben er nog niet uit.
Kijk eens in mijn voorbeeld bestand. Ik heb daar de "lege" cellen gevuld met "niet ingevuld".
Als ik nu de
Code:
pt.PivottableRefresh
in de macro opneem, laat ie in de draaibel nog steeds "leeg" zien in plaats van "niet ingevuld"
 
Dank voor de suggesties. Ik sluit de vraag af, al is ie nog niet opgelost. Heb even geen tijd om me er in te verdiepen
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan