row label lezen en vervolgens gebruiken

Status
Niet open voor verdere reacties.

arjoderoon

Gebruiker
Lid geworden
2 mei 2007
Berichten
474
Ik heb een pivot waarin het row label soms merk en soms merk_gez is.
Ik kan handmatig iedere keer een macro maken die per type het goed zet, maar ik zou het het liefst geautomatiseerd hebben.

Ik heb zitten zoeken naar een vba code hiervoor en ik heb wel wat gevonden maar niet waar ik naar op zoek ben.

ik heb uit de macro recorder dit gehaald om de tabel te sorteren (dat is wat er moet gebeuren):
Code:
activesheet.PivotTables("Draaitabel2").PivotFields("MERK GEZ").AutoSort _
        xlAscending, "MERK GEZ"

bij deze is dat op field "merk gez".

Ik wilde iets maken dat dit veld variabel is afhankelijk van welke label er gebruikt is.

daarom dacht ik om een aparte variabele te maken die bestaan uit het gebruikte label.

Het uitlezen van het gebruikte label is helaas nog niet te doen voor mij met wat ik kan vinden.

ik krijg namelijk enkel dit te zien:
Code:
Rijlabels
A.VOGEL
AGRE_GOLA
ARKOPHARMA
BIONAL

en dus helaas niet de naam van de row label (anders had ik die cel uit kunnen lezen en de waarde kunnen gebruiken voor het sorteren).

Hoe is het voor mij toch te doen dat een script dit uitleest en gebruikt om vervolgens de draaitabel te sorteren na het refreshen?
 
Je kunt de rowfields toch gewoon doorlopen met rowfields.name? Of begrijp ik de vraag niet goed?
Code:
For Each pvtField In activesheet.PivotTables("Draaitabel2").RowFields
   msgbox(pvtfield.name)
next pvtField
 
Hoi,

de draaitabel is enkel een kolom met daarin merkname die uit 3 bronnen gehaald worden. het fieldnaam dat hiervoor gebruikt wordt (maar niet getoond wordt) is merk of merk_gez

Alleen doordat deze niet getoond wordt in mijn "row label" kan ik deze helaas niet gebruiken. anders was het voor mij de cel waarde uitlezen en die gebruiken voor het pivotfield dat gesorteerd moet worden. ik kan nu helaas het gebruikt pivot field niet terug halen.

ik hoopt het met onderstaande te kunnen doen:
Code:
MsgBox Worksheets("Blad5").PivotTables("Draaitabel2").PivotFields(1).Name
dan krijg ik helaas een lege message box.

eigenlijk is de vraag: hoe kan ik het pivot field dat gebruikt is voor de rijen uitlezen?

edit:

ik probeerde de uitkomst uit de voorgesteld code in te passen in het sorteren van de kolom maar daar gebeurt niets.
Code:
Sub test()

For Each pvtField In ActiveSheet.PivotTables("Draaitabel2").RowFields
   'MsgBox (pvtField.Name)
             
Worksheets("blad5").PivotTables("Draaitabel2").PivotFields("pvtField.Name").AutoSort _
               xlAscending, "pvtfield.name"
               
Next pvtField

End Sub

met de message box krijg ik de gewenste waarde maar nu wil ik deze nog in de sorteer macro gebruiken
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan