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

Pivotitems verwijzen naar cellen op andere tabbladen

Status
Niet open voor verdere reacties.

lekkerbek312

Gebruiker
Lid geworden
26 apr 2009
Berichten
50
Is het mogelijk om draaitabel items (pivotitems) te laten verwijzen naar informatie op een ander tabblad?

Ik heb nu de volgende code om 3 jaren van een rapport in te stellen:

Code:
Sub Jaren_instellen()
Application.ScreenUpdating = False
Sheets("DT").Select
    ActiveSheet.PivotTables("Draaitabel1").PivotFields("Jaar").ClearAllFilters
    With ActiveSheet.PivotTables("Draaitabel1").PivotFields("Jaar")
        .PivotItems("2013").Visible = True
        .PivotItems("2014").Visible = True
        .PivotItems("2015").Visible = True
    End With
End Sub


Code:
.PivotItems("2013)
zou eigenlijk moeten verwijzen naar zoiets
Code:
.PivotItems.Value = Sheets("Instructies").Range("N11").Visible = True

Code:
.PivotItems("2014)
zou eigenlijk moeten verwijzen naar zoiets
Code:
.PivotItems.Value = Sheets("Instructies").Range("N12").Visible = True

Deze code werkt helaas alleen niet. Kan iemand mij op weg helpen?

Is het ook mogelijk om dit toe te passen op meerdere draaitabellen? Bijvoorbeeld draaitabel1, draaitabel2, draaitabel3, etc)?

Alvast bedankt.
 
Laatst bewerkt:
Probeer eens:
Code:
.PivotItems.Value = not Sheets("Instructies").Range("N11").hidden
 
Helaas werkt dit niet. Ik heb een voorbeeldbestand toegevoegd.

Op tabblad instructies worden de jaren geselecteerd (N2, N3 en N4). Vervolgens moet via de knop "Toepassen jaren" in de draaitabel (tabblad DT) de jaren worden geselecteerd die ik heb aangegeven bij N2, N3 en N4.
 

Bijlagen

  • Test jaren.xlsm
    28,5 KB · Weergaven: 22
Probeer deze eens.

Code:
Sub VenA()
Application.ScreenUpdating = False
With Sheets("Instructies")
    c00 = .[N2] & .[N3] & .[N4]
End With

For Each it In Sheets("DT").PivotTables("Draaitabel1").PivotFields("Jaar").PivotItems
    If InStr(1, c00, it.Value) <> 0 Then it.Visible = True Else it.Visible = False
Next it
End Sub
 
Thanks, dat werkt goed. Is het ook mogelijk om deze code toe te passen bij elke draaitabel op dat tabblad? Ik heb er namelijk 12.

Of is het een kwestie van "For each.... Next it" te kopieren en alleen de naam van de draaitabel aan te passen?
 
Code:
Application.ScreenUpdating = False
With Sheets("Instructies")
    c00 = .[N2] & .[N3] & .[N4]
End With

for each pt In sheets("DT").pivottables
 For Each it In pt.PivotFields("Jaar").PivotItems
   If InStr(1, c00, it.Value) <> 0 Then it.Visible = True Else it.Visible = False
 Next it
next pt
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan