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

[excel2010/ vba] pivot source gelijk, maar slicer maar aan 1 draaitabel te koppelen

Status
Niet open voor verdere reacties.

arjoderoon

Gebruiker
Lid geworden
2 mei 2007
Berichten
476
omdat het een vraag mbt zowel VBA als excel (slicers) betreft, heb ik de vraag hier maar even gepost.

Ik heb een werkmap met daarin 6 tabbladen met per tabblad 4 draaitabellen.
Ik had deze draaitabellen gekoppeld aan het bereik: schaduwblad!A:AA

nu heb ik op advies van pixcel het schaduwblad omgezet naar een tabel en middels een vba code de sourcedata van alle draaitabellen in mijn workbook verandert naar die tabel.

Als ik nu vervolgens mijn slicers weer wil koppelen zie ik dat ik de slicers maar aan 1 draaitabel kan koppelen. Ik heb al geverifieerd of deze draaitabel per abuis toch een andere sourcedata heeft, maar dat is ook niet het geval.

ik snap er geen snars van. Zijn er voor mijn draaitabellen dan andere caches gecreerd ofzo?

dit is de code die bij alle draaitabellen de sourcedata aangepast heeft naar 'tabel3'

Code:
Sub PivotSourceChangeAll()
Dim wb As Workbook
Dim ws As Worksheet
Dim pt As pivotTable


Application.DisplayAlerts = False
Application.EnableEvents = False

Set wb = ActiveWorkbook

  For Each ws In wb.worksheets
    For Each pt In ws.PivotTables
      pt.ChangePivotCache wb.PivotCaches.Create(SourceType:=xlDatabase, _
              SourceData:="Tabel3")
      pt.CacheIndex = Sheets("totale segmenten").PivotTables(1).CacheIndex
    Next pt
  Next ws


ThisWorkbook.RefreshAll


End Sub


Ik meende dat als de sourcedata gelijk is voor alle draaitabellen dat je dan ook de slicers kunt koppelen.
Ik kan nu met de bovenstaande code, zelfs helemaal geen slicers meer koppelen.

wat moeten de pivots met elkaar 'delen' behalve dezelfde datasource om ze te kunnen connecten met een slicer?


via:

Alt+F11 to the VBA editor
control+g to the immediate window
type:

?ActiveWorkbook.PivotCaches.Count

heb ik als uitkomst 24 gekregen. Wat precies klopt gezien de 6 sheets met 4 draaitabellen per sheet.

met
?ActiveWorkbook.SlicerCaches.Count

krijg ik 4. dus ik heb 24 pivotcaches en 4 slicercaches.... hoe krijg ik die toch bij elkaar?

Maar de datasource is hetzelfde, hoe krijg ik al die pivots op 1 pivotcache?
 
Laatst bewerkt:
?ActiveWorkbook.PivotCaches.Count
heb ik als uitkomst 24 gekregen. Wat precies klopt gezien de 6 sheets met 4 draaitabellen per sheet.
Het zal wel kloppen maar het is niet goed. Per bron heb je normaalgesproken maar één pivotcache. Het is uitzonderlijk als je in een workbook meerdere pivotcaches hebt.
Per slicer heb je een slicercache, die gekoppeld is aan een pivotcache, en zo ook aan de geassocieerde pivottables.
 
ik heb nu via een ander forum een oplossing gevonden. Die leek te werken, maar toch werd slechts bij een gedeelte de source van de pivots gewijzigd. De poster daar heeft het bestand getest en kwam tot de conclusies dat de code die hij geschreven had werkt, maar dat door de invoegtoepassing nitro het script niet goed blijkt te werken. Ik heb dus nu handmatig alle slicer verbindingen verbroken, de pivot sources gewijzigd en de slicers weer verbonden.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan