Middag allemaal,
Ik heb een bestand met een matrixoverzicht (gegevens komen uit verschillende draaitabellen). In het tabblad Matrix staan alle gegevens uit de draaitabellen. Laatstgenoemde zijn weer verdeeld over verschillende tabbladen (1 tabblad = 1 draaitabel). In de tabbladen staat op B3 het boekjaar en B4 de periode.
In het tabblad Matrix staat in cel C1 het boekjaar en in C2 de periode. In theorie zou ik deze gegevens kunnen veranderen en als ik vervolgens op een knop voor 'Bijwerken' druk dan wordt de matrix bijgewerkt. Hier ontstaat het probleem: wanneer ik tot en met periode 11 wil bijwerken en vervolgens in de draaitabellen kijk dan selecteert de macro enkel periode 0, 1, 10 en 11.
Wie heeft hier het antwoord op?
BESTAND: Bekijk bijlage RC MATRIX WERKBESTAND2.xlsm
Ik heb een bestand met een matrixoverzicht (gegevens komen uit verschillende draaitabellen). In het tabblad Matrix staan alle gegevens uit de draaitabellen. Laatstgenoemde zijn weer verdeeld over verschillende tabbladen (1 tabblad = 1 draaitabel). In de tabbladen staat op B3 het boekjaar en B4 de periode.
In het tabblad Matrix staat in cel C1 het boekjaar en in C2 de periode. In theorie zou ik deze gegevens kunnen veranderen en als ik vervolgens op een knop voor 'Bijwerken' druk dan wordt de matrix bijgewerkt. Hier ontstaat het probleem: wanneer ik tot en met periode 11 wil bijwerken en vervolgens in de draaitabellen kijk dan selecteert de macro enkel periode 0, 1, 10 en 11.
Wie heeft hier het antwoord op?
Code:
Option Explicit
Sub Update()
Dim pt As PivotTable
Dim ws As Worksheet
Dim wsName As String
Dim ptName As String
Dim pf As PivotField
Dim pfName As Variant
Dim FieldNames(1 To 2) As String
Dim pfJaar As String
Dim pfPeriode As String
Dim pi As PivotItem
FieldNames(1) = "Boekjaar"
FieldNames(2) = "Periode"
'Lees invulvelden
pfJaar = Range("C1").Value
pfPeriode = Range("C2").Value
'Loop door alle werkbladen behalve de eerste
For Each ws In Worksheets
wsName = ws.Name
If wsName <> "Matrix" Then
'Worksheets(wsName).PivotTables(1).PivotFields("Boekjaar").EnableMultiplePageItems = False
'Worksheets(wsName).PivotTables(1).PivotFields("Periode").EnableMultiplePageItems = True
For Each pfName In FieldNames
Worksheets(wsName).PivotTables(1).PivotFields(pfName).ClearAllFilters
For Each pi In Worksheets(wsName).PivotTables(1).PivotFields(pfName).PivotItems
If pfName = "Boekjaar" Then
If pi.Name = pfJaar Then
pi.Visible = True
Else
pi.Visible = False
End If
Else
If pi.Name <= pfPeriode Then
pi.Visible = True
Else
pi.Visible = False
End If
End If
Next pi
Next pfName
End If
Next ws
End Sub
[SUP][/SUP]
BESTAND: Bekijk bijlage RC MATRIX WERKBESTAND2.xlsm
Laatst bewerkt: