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

call functie zorgt voor problemen

Status
Niet open voor verdere reacties.

SvenK

Gebruiker
Lid geworden
10 sep 2015
Berichten
26
Hallo,

voor het uitvoeren van een advanced filter doe ik het volgende:

Code:
If Not Intersect(ActiveCell, Range("Qzone67")) Is Nothing Then
    MsgBox ("keuze")
    ws_FilterETL.Range("A2:V2") = ""
    ws_FilterETL.Range("F2") = "Q67"
    ws_FilterETL.Range("P2") = " "
    Call ETL1AdvancedFilter
End If

If Not Intersect(ActiveCell, Range("QzoneP1")) Is Nothing Then
    ws_FilterETL.Range("A2:V2") = ""
    ws_FilterETL.Range("F2") = "Q1 "
    ws_FilterETL.Range("P2") = " "
    Call ETL1AdvancedFilter
End If

Met anderen woorden ik heb verschillende ranges aangemaakt en via het commando not intersect (12 x onder elkaar met if end if) zorg ik ervoor dat wanneer er een bepaalde cel wordt aangeklikt gegevens van de advanced filter worden aangepast en de advanced filter zelf wordt uitgevoerd. Het valt mij op dat zoals de code nu is opgebouwd de call ETL1AdvancedFilter bij het klikken op 1 cel meermaals wordt aangesproken.

Is er een betere manier om dergelijke code te schrijven zodat de call functie maar 1 keer wordt uitgevoerd?

Bedankt,
Sven.
 
Waarschijnlijk wordt jouw event weer getriggerd door het aanroepen van ETL1AdvancedFilter
Dit kun je ondervangen door Enableevents op False te zetten en daarna weer op True

Plaats anders jouw bestandje eens (zonder gevoelige info)
 
Hallo,

met het commando enableevents is het gelukt.

Bedankt,
Sven.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan