Avatar billede patterman Nybegynder
26. oktober 2009 - 09:22 Der er 4 kommentarer og
1 løsning

vba autofilter der ikke gennemfører den valgte filtrering?!

hej mit problem er at jeg får excel til at indtaste de valgte criteria'er men laver ikke udvælgelsen. kan selv gå ind i autofilter, under custom filter og trykke på enter så virker det, men det skulle jo helst ske automatisk.


Dim SupplierName, Year, PeriodB, PeriodE, December, As Variant
SupplierName = Sheets("SQ").Cells(3, 2)
Year = Sheets("SQ").Range("G8")
December = "array(01-12-" & Year & "," & "31-12-" & Year & ")"
PeriodB = ">=" & "01-01-" & Year
PeriodE = "<=" & "31-12-" & Year

dim Dest as Interger
dest = 5

Sheets("standard parts").Range("A1").AutoFilter _
field:=5, _
Criteria1:=SupplierName
'--- virker fint


With Sheets("standard parts").Range("A1")
.AutoFilter , field:=2, Criteria1:=December
.AutoFilter , field:=2, Criteria1:=PeriodB, Criteria2:=PeriodE,
Operator:=xlAnd End With
'--- virker ikke, indsætter søgekriteria'er men laver ikke udvælgelsen.

Sheets("SQ").Cells(Dest + 11, 2) = Sheets("standard parts").Range("I4").End(xlDown).Value
Sheets("SQ").Cells(Dest + 11, 3) = Sheets("standard parts").Range("N4").End(xlDown).Value

Sheets("standard parts").Range("A1").AutoFilter Field:=5
Sheets("standard parts").Range("A1").AutoFilter Field:=2


End Sub



Generelt er mit problem at lige så snart jeg sætter mere end et criteria i et field så kan jeg ikke få excel til at gøre som jeg ønsker. enten udfører den ikke et af criteria'erne eller den overskriver første criteria etc.

koden kunne helt sikkert gøres meget bedre, men det er lige sådan den ser ud :)
Avatar billede excelent Ekspert
26. oktober 2009 - 19:13 #1
prøv :

.AutoFilter , field:=2, Criteria1:=PeriodB, Operator:=xlAnd, Criteria2:=PeriodE
Avatar billede excelent Ekspert
26. oktober 2009 - 19:25 #2
Næ det gør vist ingen forskel
men fjern lige det komma efter December i din Dim linie
Avatar billede excelent Ekspert
26. oktober 2009 - 19:43 #3
PeriodB = ">=" & "01-01-" & Year
PeriodE = "<=" & "31-12-" & Year
skal være formentlig være:
PeriodB = ">=" & "01-01-" & Year
PeriodE = "<=" & "12-31-" & Year

for i VBA formateres dato som mm-dd-åååå  (måned-dag-år)
Avatar billede patterman Nybegynder
27. oktober 2009 - 02:15 #4
Det var lige det der skulle til. tak for hjælpen, smid et svar og du får dine point.

ps , efter december er kun i det kode jeg har kopieret ind her, så det undskylder jeg, klippede en del fra, så en lille smutter.
Avatar billede excelent Ekspert
27. oktober 2009 - 15:01 #5
ok velbekom
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester