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

filteren in draaitabel op meer dan 1 waarde in kolom

Status
Niet open voor verdere reacties.

Friend

Verenigingslid
Lid geworden
31 jan 2009
Berichten
1.137
Beste forummers,

In de onderstaande code filter ik in de kolom e-mail in de draaitabel op "Jansen"

Hoe kan ik de code zo aanpassen dat hij op meerdere criteria filtert?

Bijv "Jansen" en "Willemsen"??

Code:
Sub test2()
'
' test2 Macro
'
    ActiveSheet.PivotTables("Draaitabel1").PivotFields("E-MAIL").ClearAllFilters
    ActiveSheet.PivotTables("Draaitabel1").AllowMultipleFilters = True
    
    
    ActiveSheet.PivotTables("Draaitabel1").PivotFields("E-MAIL").PivotFilters.Add2 _
        Type:=xlCaptionContains, Value1:="Jansen"
        

    Range("K1").Select
End Sub

Hartelijk dank,

Friend
 
Zo bvb.
Zet wel even de juiste pivotfield naam in de code.

Code:
Sub jvr()
  For Each it In Sheets(1).PivotTables(1).PivotFields("[COLOR="#FF0000"]Naam[/COLOR]").PivotItems
    it.Visible = it.Name = "Jansen" Or it.Name = "Willemsen"
  Next
End Sub
 
J Veer,

Hartelijk dank voor je reactie :thumb:

Dat werkt mooi :)

Nog 1 aanvullende vraag als het mag.

Is het ook mogelijk om op een gedeelte van de tekst in het veld "E-mail" te filteren?

BV : "jan" en "wil"

Dus : CaptionContains / Bevat "jan" etc

Friend
 
Zo kun je het even proberen

Code:
Sub jvr()
  For Each it In Sheets(1).PivotTables(1).PivotFields("Naam").PivotItems
    it.Visible = InStr(1, it.Name, "jan", vbTextCompare) Or InStr(1, it.Name, "wil", vbTextCompare)
  Next
End Sub
 
ik weet niet of het nu nog zo is, maar toen ging VBA in de fout tijdens de loop als er geen enkele pivotitem nog visible was.
Dus veronderstel dat je "jan" het allerlaatste pivotitem was en voordien was alle items behalve de eerste verborgen, dan kreeg je een fout.
Of dat nu nog zo is ???
Vandaar die ".Clearallfilters" !
 
Laatst bewerkt:
Dat is inderdaad nog steeds zo:D. Aangepast:

Code:
Sub jvr()
 With Sheets(1).PivotTables(1).PivotFields("Naam")
  .ClearAllFilters
    For Each it In .PivotItems
      it.Visible = InStr(1, it.Name, "jan", vbTextCompare) Or InStr(1, it.Name, "wil", vbTextCompare)
    Next
 End With
End Sub
 
J Veer,

Hartelijk dank

Dat doet precies wat we voor ogen hebben:thumb:

Friend
 
Cow18,

Hartelijk dank voor je reactie en aanvulling:thumb:

Ik probeer het even uit en zet voor de zekerheid "Clearallfilters" erin.

Thanks

Friend
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan