Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 13 odgovora
  • 8.345 pregleda

Najnovija ↓

Excel - Makro za filtriranje po datumu 24.05.2010. u 03:13 · pre 200 meseci #1
U jednom sheetu u koloni "A" su datumi po rastucem redu. Kada rucno odradim filtriranje od jednog do drugog datuma, sve je o.k. Kada to filtriranje snimim u makro - ne funkcionise. Znaci, identican postupak pri rucnom filtriranju radi, a putem makroa ne. Evo procedure:

Sheets("KPR").Range("A10:A9999").Select
Selection.AutoFilter
Selection.AutoFilter Field:=1, Criteria1:=">=E6", Operator:=xlAnd, Criteria2:="<=G6"

Polja "E6" i "G" su - pocetni i krajnji datum. Isto se dobije i kada u makrou umesto "E6" i "G6" upisem konkretne datume. Zaista ne razumem u cemu je problem.
Hvala unapred na svakoj pomoci. U prilogu je primer.
Re: Excel - Makro za filtriranje po datumu 24.05.2010. u 11:05 · pre 200 meseci #3
Tvoj makro besprekorno. Svaka čast! Puno hvala.
Ipak mi ostaje nejasno zašto neće da makro radi preko AutoFiltera. Da li nešto grešim, ili VBA ne poznaje sortiranje po datumu? Pozdrav.
Re: Excel - Makro za filtriranje po datumu 24.05.2010. u 14:17 · pre 200 meseci #5
FOX-ov makro odlicno odradjuje posao, ali bih voleo da ovaj problem isteram do kraja. Preformatirao sam datume na mm/dd/yyyy, ali i dalje ne radi AutoFilter kroz makro.
Sta su jos nedostaci, s obzirom da je makro snimljen, ja zaista ne znam. Pozdrav i hvala.
Re: Excel - Makro za filtriranje po datumu 24.05.2010. u 21:01 · pre 200 meseci #6
Drugi problem su kriterijum u obliku ">=E6". Ovako napisano ne upoređuje sa sadržajem ćelije E6 nego sa nizom karaktera "E6"!

Takođe, mislim da opseg za filtriranje treba da počne od A9 jer ćeš ovako ćeliju A10 ostaviti van filtera.

Dakle nakon što si promenio formata ispisa datuma u obliku mm/dd/yyyy (mada je to moglo i u kodu) tvoj makro bi mogao da izgleda ovako

Code:
Sub Filter()
    Application.ScreenUpdating = False
'    Sheets("KPR").Range("A9:A9999").Select
'    Selection.AutoFilter
    Range("A9:A9999").AutoFilter Field:=1, Criteria1:=">=" & Range("E6").Text, Operator:=xlAnd, Criteria2:="<=" & Range("G6").Text
      
'    Range("A5").Select
  
End Sub

Primeti da ti selekcija nije neophodana. Kad snimiš makro ona se neminovno pojavljuje u snimljenom obliku, ali je lako možeš eliminisati.


Potpis
Nije to loše Rembrante, samo što ne bi dodao još malo boje?
Re: Excel - Makro za filtriranje po datumu 24.05.2010. u 22:30 · pre 200 meseci #7
Zaista sam neizmerno zahvalan na ovakvom pojasnjenju. Nije u pitanju samo pomoc u konkretnom slucaju, vec, kao i obicno, "mala lekcija programiranja". Pozdrav i hvala.
Re: Excel - Makro za filtriranje po datumu 25.05.2010. u 03:15 · pre 200 meseci #8
Resenjem ovog problema, pojavio mi se novi, kao "dopuna" prethodnog. Moze li se ovako filtriran sheet upotrebiti kao RowSource ListBox-a ?
Naime, pre filtriranja za popunu ListBoxa koristio sam sledeci makro:
Dim xy As Integer
xy = Sheets("KPR").Range("A9").End(xlDown).Row
lst1.RowSource = "KPR!A10:L" & xy

Odnosno, svi puni redovi od "A9", pa nanize cinili su RowSource. Sada, kad isfiltriram redove po datumu ovaj makro nema funkciju. Pokusao sam da dopunim i FOX-ov i JPecin primer, ali - ne ide. Hvala unapred i pozdrav.
Re: Excel - Makro za filtriranje po datumu 25.05.2010. u 12:02 · pre 200 meseci #10
Da, tako nesto. S tim sto se meni ListBox nalazi na formi. Filtriranje i prikaz filtriranog opsega odradjujem clickom na button. Originalni sheet ima 12 a ne 8 kolona, kao u primeru (skratio sam zbog prakticnosti). I sad kad umetnem tvoj makro u moj "cmd_click" on nece da odradi. Evo sada prilazem "originalni" dokumenat, sa tvojim makroom.
Hvala zaista na pomoci i trudu. Pozdrav
Re: Excel - Makro za filtriranje po datumu 25.05.2010. u 14:46 · pre 200 meseci #12
Zaista imresivno. Puno vremena sam izgubio da ovo uradim, ali tek sada vidim da nisam bio ni blizu resenja. Hvala od srca. Nadajuci se da nisam prenaporan, molio bih samo za neka pojasnjenja:
1. Sada su prva tri datuma u starom formatu "dd.mm.yy", a svi ostali u "mm/dd/yyyy" Koloko vidim, u kodu to nista nisi menjao. U sheetu su svi po starom.
2. U "dinarskim" kolonama u Lst1 svi iznosi su sada bez decimala, a bili su "0,00" Ni to nisi menjao.
3. U sumarnim txt-ovima na dnu liste prikazuje ukupne iznose, "nefiltrirane", a u sheetu imam zbirove sa SUBTOTAL funkcijom, tj. zbirovi treba isprate filtriranje.
Hvala na trudu, nadam se da cu biti u prilici da uzvratim. Pozdrav!
Re: Excel - Makro za filtriranje po datumu 25.05.2010. u 20:01 · pre 200 meseci #14
Sve sto bih rekao ili pitao posle ovoga bilo bi suvisno. Jedno veliko HVALA. Ovakvu podrsku zaista nisam dugo doziveo. Sve radi besprekorno. Pozdrav !!!
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme