jheesterbeek
Gebruiker
- Lid geworden
- 26 jan 2005
- Berichten
- 474
zet de aangepaste file nogeens op het forum.....
Bekijk de onderstaande video om te zien hoe je onze site als een web app op je startscherm installeert.
Opmerking: Deze functie is mogelijk niet beschikbaar in sommige browsers.
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.
Private Sub Worksheet_PivotTableUpdate(ByVal Target As PivotTable)
Application.EnableEvents = False
Dim Pt As PivotTable, choice As String
For Each Pt In ActiveSheet.PivotTables
If Pt.Name <> Target.Name Then
choice = Target.PivotFields("Medewerker").CurrentPage
Pt.PivotFields("Medewerker").CurrentPage = choice
End If
Pt.Update 'dit is nieuw
Next Pt
Application.EnableEvents = True
Cells.EntireColumn.AutoFit
End Sub
Pt.Update 'dit is nieuw
Option Explicit
Private Sub Workbook_SheetPivotTableUpdate(ByVal Sh As Object, ByVal Target As PivotTable)
Application.EnableEvents = False
On Error GoTo einde
UpdatenAlleDraaitabellen Target.PivotFields(MijnPaginaVeld).CurrentPage
einde:
Application.EnableEvents = True
End Sub
Option Explicit
Public Const MijnPaginaVeld As String = "Bij welke directie werk je?"
Sub UpdatenAlleDraaitabellen(keuze As String)
Application.EnableEvents = False
Dim Sh As Worksheet, Pt As PivotTable, choice As String
For Each Sh In Sheets
For Each Pt In Sh.PivotTables
Pt.PivotFields(MijnPaginaVeld).CurrentPage = keuze
Pt.Update 'dit is nieuw
Next Pt
Cells.EntireColumn.AutoFit
Next
Application.EnableEvents = True
End Sub
Sub eventson()
Application.EnableEvents = True
End Sub
Option Explicit
Private Sub Workbook_SheetPivotTableUpdate(ByVal Sh As Object, ByVal Target As PivotTable)
Dim i As Integer
Application.EnableEvents = False 'events tijdelijk uitzetten
On Error GoTo einde
MijnPaginaVelden(1) = "Bij welke directie werk je?" 'alle namen van de paginavelden
MijnPaginaVelden(2) = "Welke afdeling werk je?"
MijnPaginaVelden(3) = "Welk team werk je?"
With Sheets(Sh.Name).PivotTables(Target.Name) 'de draaitabel die net veranderd is
For i = LBound(MijnPaginaVelden) To UBound(MijnPaginaVelden) 'ieder paginaveld bekijken
MijnKeuzes(i) = Target.PivotFields(MijnPaginaVelden(i)).CurrentPage 'huidige selectie van paginaveld
Next
End With
UpdatenAlleDraaitabellen Sh.Name, Target.Name 'alle andere draaitabellen updaten zoals deze draaitabel
einde:
Application.EnableEvents = True 'events terug inschakelen
End Sub
Option Explicit
Public MijnPaginaVelden(1 To 3) As Variant
Public MijnKeuzes(1 To 3) As Variant
Sub UpdatenAlleDraaitabellen(Werkblad As String, Draaitabel As String)
Dim Sh As Worksheet, Pt As PivotTable, i As Integer
For Each Sh In Sheets 'elk blad aflopen
For Each Pt In Sh.PivotTables 'elke draaitabel aflopen
If Sh.Name <> Werkblad Or Pt.Name <> Draaitabel Then 'niet de net gewijzigde draaitabel
For i = LBound(MijnPaginaVelden) To UBound(MijnPaginaVelden) '1 voor 1 de paginavelden aflopen
Pt.PivotFields(MijnPaginaVelden(i)).CurrentPage = MijnKeuzes(i) 'keuze gelijk zetten aan gemaakte keuze
Next
Pt.Update 'dit is nieuw
End If
Next Pt
Cells.EntireColumn.AutoFit 'kolombreedte op automatisch
Next
End Sub
Sub eventson()
Application.EnableEvents = True
End Sub
We gebruiken essentiële cookies om deze site te laten werken, en optionele cookies om de ervaring te verbeteren.