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 Barco
Er jeres mødelokaler sikre nok?
Den moderne arbejdsplads er i stigende grad afhængig af mødelokaler til at fremme samarbejde, men dette skift medfører også stigende sikkerhedsudfordringer.
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