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

slicer items dmv macro

Status
Niet open voor verdere reacties.

genexxa

Gebruiker
Lid geworden
26 aug 2008
Berichten
70
Hallo,

Ik heb heb een button gemaakt die mijn slicers instelt zodat ik dat niet elke keer hoef te doen.
Echter wijzigt dagelijks mijn bron data waardoor ik nu een fout 5 melding krijg.

De rede is dat bij het maken van de macro die aan de button gekoppeld zit, niet alle gegevens overeen komen met het bron bestand.
Wat ik bedoel is het volgende.
De foutmelding gaat over onderstaande:

Sub Demo()
With ActiveWorkbook.SlicerCaches("Slicer_Probleemsubtype")
.SlicerItems("S08-3 Admin Wijz.").Selected = True
.SlicerItems("S09-1 Eenmalige fact").Selected = False
.SlicerItems("S09-2 Faillissement").Selected = False
.SlicerItems("S14-Algemeen").Selected = False
.SlicerItems("(leeg)").Selected = False
.SlicerItems("P09-3 Opzegvergoed").Selected = False
End With
Dit komt omdat "P09-3 Opzegvergoed" vandaag niet in de data voor komt.

Bij het maken van de Macro is de waarde True bij de filter die je wel wil zien, en False voor alles wat je niet wil zien.
Hierdoor is de code erg lang en en traag.

Is het niet mogelijk om alleen de waarde in VBA te zetten die je wil zien, en dat de rest automatisch uit staat?
Dus alleen alles wat True is en de rest (ongeacht wat erin de lijst staat) is False?

Ik hoop dat iemand mij hierbij kan helpen.

PS. is kon het bestand niet uploaden omdat deze te groot is.
 
Zoiets:

Code:
Sub Demo()
[COLOR="#FF0000"]On Error Resume Next[/COLOR]
With ActiveWorkbook.SlicerCaches("Slicer_Probleemsubtype")
.SlicerItems("S08-3 Admin Wijz.").Selected = True
.SlicerItems("S09-1 Eenmalige fact").Selected = False
.SlicerItems("S09-2 Faillissement").Selected = False
.SlicerItems("S14-Algemeen").Selected = False
.SlicerItems("(leeg)").Selected = False
.SlicerItems("P09-3 Opzegvergoed").Selected = False
End With
[COLOR="#FF0000"]On Error Goto 0[/COLOR]
 
of zo?
(Macro is niet zo snel als je veel sliceritems hebt)
Code:
Sub Demo()
    Dim sI As SlicerItem
    For Each sI In ActiveWorkbook.SlicerCaches("Slicer_Probleemsubtype").SlicerItems
        If sI.name = "S08-3 Admin Wijz." Then sI.Selected = True Else: sI.Selected = False
    Next
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan