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

Macro filteren op datum in een draaitabel vanuit celwaarde

  • Onderwerp starter Onderwerp starter DEY
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

DEY

Gebruiker
Lid geworden
19 apr 2013
Berichten
46
Hallo,

Graag uw hulp gevraagd voor het volgende.

Zie voorbeeld bestand.

Met een macro filteren in een draaitabel.
Hierin wil ik alle data verkrijgen die voor een datum (celwaarde H6) liggen.

Alvast bedankt
 

Bijlagen

Rechtsklikken in de draaitabel op een datum en kiezen voor filter - datumfilter?
 
Allereerst bedankt voor je reactie.

Omdat ik verschillende draaitabellen heb wil ik deze met een macro laten uitvoeren.

Dus mijn vraag is, hoe doe ik dat?

Dey
 
Neem bij het uitvoeren van die actie eens een macro op.
 
Even zonder foutafhandeling. Een Dt moet minimaal 1 zichtbare rij hebben anders krijg je een foutmelding.

Code:
Sub VenA()
With ActiveSheet
    For Each it In .PivotTables("Draaitabel1").PivotFields("Geb. datum").PivotItems
        it.Visible = CDate(it.Value) < .[h6]
    Next it
End With
End Sub
 
Zo moet het toch te doen zijn:

Code:
Sub Draaitabelfilter()
    ActiveSheet.PivotTables("Draaitabel1").PivotFields("Geb. datum").ClearAllFilters
    ActiveSheet.PivotTables("Draaitabel1").PivotFields("Geb. datum").PivotFilters. _
        Add Type:=xlBefore, Value1:=Range("H6")
End Sub
 
@Cobbe,

En dat voor iemand de 'altijd' zegt niets van draaitabellen te weten:d De xlbefore als filter zal sneller zijn dan de items af te lopen. De code heb ik even aangepast omdat ik een foutmelding kreeg over het datum format. Tevens jouw 'oeps' er ingezet voor het geval er geen gegevens gevonden kunnen worden.

Code:
Sub Cobbe_VenA()
On Error GoTo oeps
With ActiveSheet.PivotTables("Draaitabel1").PivotFields("Geb. datum")
    .ClearAllFilters
    .PivotFilters.Add xlBefore, , Format(Range("H6"), "d/m/yyyy")
End With
Exit Sub
oeps: MsgBox "geen waarde gevonden"
End Sub
 
Daar zit toch véél Trial and error in hoor.
 
Het zal aan mij liggen maar ik begrijp jouw reactie niet.
 
Ik zal het anders zeggen:
Het heeft mij zeer véél Trial and error gekost om daartoe te komen.
 
Allen,

Heel erg bedankt voor jullie hulp.

Zeer dankbaar.

Groetjes,

Dey
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan