Beste,
Met onderstaande code wil ik de waarden te weten komen waarop gefilterd is in een pivottable. Dit gaat goed zolang ik voor een veld meer dan 1 waarde selecteer (vink dan ook 'select multiple items' aan). Selecteer ik slechts 1 waarde (zonder 'select multiple items' aan te vinken) krijg ik geen resultaat terug. Vink ik daarentegen select multiple items' aan en selecteer ik dan toch maar 1 waarde, krijg ik wel een waarde terug.
Wat kan de oorzaak hiervan zijn? Hoe kan ik dit oplossen?
Met onderstaande code wil ik de waarden te weten komen waarop gefilterd is in een pivottable. Dit gaat goed zolang ik voor een veld meer dan 1 waarde selecteer (vink dan ook 'select multiple items' aan). Selecteer ik slechts 1 waarde (zonder 'select multiple items' aan te vinken) krijg ik geen resultaat terug. Vink ik daarentegen select multiple items' aan en selecteer ik dan toch maar 1 waarde, krijg ik wel een waarde terug.
Wat kan de oorzaak hiervan zijn? Hoe kan ik dit oplossen?
Code:
For Each pvt_field In Worksheets(Par_Pivotsheet).PivotTables(Par_Pivot).PivotFields
If pvt_field.Orientation = 1 Or _
pvt_field.Orientation = 2 Or _
pvt_field.Orientation = 3 Or pvt_field.CubeField.CubeFieldType = xlHierarchy Then '1 = rijveld // 2 = Kolomveld // 3 = filter veld // 4 = [Measures].[# Subscribers]
pvt_field_name = pvt_field.Name
[COLOR="#FF0000"][B][COLOR="#FF0000"] Filter = Workbooks(gblWorkbookName).Sheets(Par_Pivotsheet).PivotTables(Par_Pivot).PivotFields(pvt_field_name).VisibleItemsList[/COLOR][/B][/COLOR]
If Filter(1) <> "" Then
If UBound(Filter) > 1 Then
For I = 1 To UBound(Filter)
If I = 1 Then
statement_field = "{" & Filter(I) & ","
ElseIf I = UBound(Filter) Then
statement_field = statement_field & Filter(I) & "}"
Else
statement_field = statement_field & Filter(I) & ","
End If
Next
ElseIf UBound(Filter) = 1 Then
statement_field = "{" & Filter(1) & "}"
End If
ws.Cells(LRow, 1).Value = pvt_field.Name
ws.Cells(LRow, 2).Value = pvt_field.Orientation
ws.Cells(LRow, 3).Value = statement_field
ws.Cells(LRow, 4).Value = Par_Pivotsheet
RowTo = LRow
LRow = LRow + 1
End If
End If
Next pvt_field