[VBA/Excel] Autofilter & criteria lukt niet

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • Angeloonie
  • Registratie: Mei 2004
  • Laatst online: 17:33

Angeloonie

Cheeseburger Addict

Topicstarter
Ik heb een simpele macro die op een aantal velden dmv user input een filter moet gebruiken. Ik krijg het alleen niet voor elkaar om het helemaal werkend te krijgen.

Het gaat fout zodra de gebruiker niets invoert in het scherm, ik wil dat dit betekend dat er niet gefilterd moet worden op die kolom, maar het lukt gewoon niet.

Het vreemde is wel dat het hier bij de String "ACCO" wel werkt, die mag ik leeg laten, maar bij de string "REISDUUR" en "BEZETTING" niet.

Hieronder mijn huidige code, het gaat dus om "Criteria1":

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Selection.AutoFilter Field:=3, Criteria1:=">0", Operator:=xlAnd

      ACCO = ""
      ACCO = Application.InputBox("Welke acco? (bv. Sunrise of Blaumar) Leeg laten voor alle acco's.", _
                "Acconaam invoeren", Type:=2)
Selection.AutoFilter Field:=9, Criteria1:="*" & ACCO & "*", Operator:=xlAnd

      REISDUUR = ""
      REISDUUR = Application.InputBox("Welke reisduur? (bv. 8 of 15) Leeg laten voor alle reisduren.", _
                "Reisduur invoeren", Type:=2)
Selection.AutoFilter Field:=16, Criteria1:="*"& REISDUUR & "*", Operator:=xlAnd

      BEZETTING = ""
      BEZETTING = Application.InputBox("Welke bezetting? (bv. 2 of 3) Leeg laten voor alle bezettingen.", _
                "Bezetting invoeren", Type:=2)
Selection.AutoFilter Field:=17, Criteria1:="*"& BEZETTING & "*", Operator:=xlAnd


Iets anders wat ik al geprobeerd had, maar beide ook niet werkten:

code:
1
2
3
4
      REISDUUR = ""
      REISDUUR = Application.InputBox("Welke reisduur? (bv. 8 of 15) Leeg laten voor alle reisduren.", _
                "Reisduur invoeren", Type:=2)
Selection.AutoFilter Field:=16, Criteria1:="*" & REISDUUR, Operator:=xlAnd

of

code:
1
2
3
4
      REISDUUR = ""
      REISDUUR = Application.InputBox("Welke reisduur? (bv. 8 of 15) Leeg laten voor alle reisduren.", _
                "Reisduur invoeren", Type:=2)
Selection.AutoFilter Field:=16, Criteria1:=REISDUUR, Operator:=xlAnd


Waar gaat het mis? Het zal vast iets heel simpels zijn, maar ik kom er echt niet meer uit..

Uplay: Angeloonie - Battletag: Angeloonie#2758 - Steam: Angeloonie