20. september 2012 - 19:57
Der er
3 kommentarer og 1 løsning
Autofilter kan ikke adskille "1" fra "10"
Hej, Jeg har en række data, som bliver styret af et autofilter fra vba. F.eks. har nogle af rækkerne følgende data: 10 1,3,7,10 3,7,10 Når jeg så bruger følgende kode, så kommer alle 3 linier (month=1) With Sheets("Kundeliste") .Range("A:ad").AutoFilter Field:=8, Criteria1:=Array("*" & month & "*", "="), Operator:=xlFilterValues end with Men bruger jeg følgende kode, så kommer der ingen resultater, for så vælger autofilteret med 10 helt fra: With Sheets("Kundeliste") .Range("A:ad").AutoFilter Field:=8, Criteria1:=Array("*" & month & "*", "=", "*" & "<>11" & "*", "*" & "<>12" & "*", "*" & "<>10" & "*"), Operator:=xlFilterValues End With Har tænkt på at lave variablen month om fra "1" til "1," - men det kan godt risikere at 1 står alene på en linie. Hvad kan jeg gøre, for at få det til at virke? På forhånd tak
Annonceindlæg fra Kommando
20. september 2012 - 20:37
#1
Har også prøvet med format - men også her kommer alle linierne frem: .Range("A:ad").AutoFilter Field:=8, Criteria1:=Array("*" & Format(month, "0") & "*", "="), Operator:=xlFilterValues
24. september 2012 - 11:26
#2
Jeg er blevet nød til at ændre mine data, og så bruge en lidt ændret kode.... 10. 1.3.7.10. 3.7.10. If Months = "Januar" Then month = "1." .Range("A:ad").AutoFilter Field:=8, Criteria1:=Array("*" & month & "*", "="), Operator:=xlFilterValues end with ...men ville helst have den anden løsning, så lader lige tråden være åben lidt endnu...
24. september 2012 - 11:40
#3
Nej.... virker faktisk heller ikke, for februar og december kan godt drille noget... f.eks: 2.5.8.11. 1.3.4.6.7.9.10.12. 2.5.8.11. så kommer alle 3 linier ved "2."
25. september 2012 - 14:31
#4
Jeg indsatte en falsk kolonne, og fik dermed filtreret korrekt. I kolonne AE skrev jeg følgende funktion: =HVIS(H3="";"(1)(2)(3)(4)(5)(6)(7)(8)(9)(10)(11)(12)";HVIS(H3="Pause";"";HVIS(H3="Lige måned";"(2)(4)(6)(8)(10)(12)";HVIS(H3="Ulige måned";"(1)(3)(5)(7)(9)(11)";SAMMENKÆDNING("(";UDSKIFT(H3;"-";")(");")"))))) ...hvilket gør, at både blanke celler, celler med tekst, og celler med tal bliver konverteret til enslydende værdier (specielt delen med UDSKIFT) Så ser ovenstående kolonner sådan ud: (efter en mindre søg/erstat!) (2)(5)(8)(11) (1)(3)(4)(6)(7)(9)(10)(12) (2)(5)(8)(11) ...og i VBA skrev jeg følgende kode: If Months = "Januar" Then month = 1 If Months = "Februar" Then month = 2 'etc .Range("A:ae").AutoFilter Field:=31, Criteria1:=Array("*(" & month & ")*"), Operator:=xlFilterValues end with Tusind tak for Jeres tid :)
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig