Novo

Forum kao aplikacija na telefonu

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

  • 8 odgovora
  • 4.673 pregleda

Najnovija ↓

Macro za Filtriranje prethodnog dana! 03.11.2014. u 15:43 · pre 146 meseci #1
Ovo je Macro koji snimim:

Sub Macro3()
'
' Macro3 Macro
'
ActiveSheet.Range("$A$3:$O$13").AutoFilter Field:=1, Criteria1:= _
"2014 10 06 Mon"

End Sub

Ovo mi je izvestaj gde mi je poslednji dan bio 6 Oktobar 2014. Ja svakog dana dobijam neke nove podatke, tako da svakog dana treba da selektujem prethodni dan. Npr. danas je 3.Novembar 2014 i meni je potrebno da filtrira 02.Novembar 2014.
Kako da prepravim ovaj Macro, ili pak moze i neki novi koji ce da mi odradi posao?


Potpis
Cogito, Ergo, Sum
Re: Macro za Filtriranje prethodnog dana! 03.11.2014. u 17:09 · pre 146 meseci
izmenjeno 1 put, poslednji put Jpeca 04.11.2014. u 17:45
  1. Jpeca04.11.2014. u 17:45zapis iz teksta poruke
#2
Koliko razumem uslov za filtriranje je datum ali kao string u prvoj koloni. Moglo bi nešto ovako.
Code:

Sub ApplyFilter()
'
'  Na tekuci list primenjuje filter na prvu kolonu
'   Vrednost u koloni jednaka  prethnodni dan kao formatiran string
'
Dim rng As Range
Dim strKriterijum As String
'    Opseg podataka  za filter
 Set rng = ActiveSheet.UsedRange
 '  Priprema formatiranog stringa za prethodni da: Date -1
 '  Formatiran string sadrzi godinu mesec dan i dan u nedelji sve razdvojeno blankom
 strKriterijum = Format(Date - 1, "yyyy MM dd ") & WeekdayName(Weekday(Date - 1), 1, vbSunday)
 '  Postavlja se filter na prvu kolonu
 rng.AutoFilter Field:=1, _
               Criteria1:=strKriterijum

End Sub

Filtriranje se vrši po strKriterijum, a to se formira od date-1 u formatu kako sam ja razumeo sa slike
Potpis
Nije to loše Rembrante, samo što ne bi dodao još malo boje?
Re: Macro za Filtriranje prethodnog dana! 04.11.2014. u 16:45 · pre 146 meseci #3
Jpeca, nesto mi ne radi kako treba. Kada starujem macro, dobijem samo prazno, nije mi filtrirao prethodni dan! U prilogu slika (Capture2). Meni bi trebalo kao slika u prilogu (Capture3)

Ili, da pokusamo ovako. Danas je 4. Novembar. Slika u prilogu (Capture4). Ovo je izvorno kako dobijam podatke. Iz priloga se vidi da oni nisu sortirani npr. od A-Z, ali kada udjes na filter (pored SLICES) ima da se izabere datum, slika (Filter) u prilogu, sto bih ja zeleo da dobijem kada startujem macro, ali samo za poslednji dan koji se nalazi u izvestaju!

P.S. Da li je moguce da makro prepozna poslednji dan u izvestaju ako je danas 4. Novembar 2014, a ja udjem u neki stariji izvestaj gde je, recimo, poslednji dan za taj izvestaj 3. Oktobar 2014, i makro da mi samo izfiltrira 3. Oktobar?
Potpis
Cogito, Ergo, Sum
Re: Macro za Filtriranje prethodnog dana! 04.11.2014. u 17:43 · pre 146 meseci #4
Bilo bi dobro da umesto slika postaviš primer Excel tabel. Podatke možeš da ismisliš i skratiš. Ovako na osnovu slika teško je reći šta je problem ali moguće teksturalni oblik datuma.

Citat:
Da li je moguce da makro prepozna poslednji dan u izvestaju ...

To je jednostavno funkcija MAX kad je u pitanju datum. Problem je što su ovo stringovi koje treba prvo interpretirati kao datum pa onda naći Max.
Potpis
Nije to loše Rembrante, samo što ne bi dodao još malo boje?
Re: Macro za Filtriranje prethodnog dana! 04.11.2014. u 22:45 · pre 146 meseci #5
Vazi, Jpeca. Sutra cu, sa posla, poslati tabelu koju inace koristim, pa da pogledas!
Potpis
Cogito, Ergo, Sum
Re: Macro za Filtriranje prethodnog dana! 05.11.2014. u 15:26 · pre 145 meseci
izmenjeno 1 put, poslednji put Jpeca 05.11.2014. u 16:39
  1. Jpeca05.11.2014. u 16:39zapis iz teksta poruke
#7
Ubacio sam funkciju za odredjivanje poslednjeg datuma u koloni A i onda se taj datum koristi kao kriterujum.
Bilo bi možda čistije (i efikasnije) da se stringovi iz kolone A pretvore u datume, ali ovde sam ostaviio kao string i napravio "svoju" funkciju za maksimum

Meni to radi (ALT+F8, ApplyFilter). Ako kod tebe ne radi možda ima veze sa regionalnim setovanjem
Potpis
Nije to loše Rembrante, samo što ne bi dodao još malo boje?
Re: Macro za Filtriranje prethodnog dana! 05.11.2014. u 17:28 · pre 145 meseci
izmenjeno 1 put, poslednji put toci 06.11.2014. u 13:58
  1. toci06.11.2014. u 13:58zapis iz teksta poruke
#8
Radi i kod mene Jpeca. To je to sto mi treba! Hvala!

Probacu ovo na svim izvestajima, jos ova 2-3 dana, pa cu se oglasiti jos jedanputa za definitivan odgovor! Funkciju MAX, mogu li je obrisati, posto ne vidim dodirnih tacaka sa Sub?


Ipak je i f-ja MAX neophodna! :D
Potpis
Cogito, Ergo, Sum
Re: Macro za Filtriranje prethodnog dana! 07.11.2014. u 12:56 · pre 145 meseci #9
Funkciju FindMax sam ubacio na osnovu tvog zahteva da se nađe poslednji "datum" u koloni.
Code:
dat = FindMax(rng.Resize(ColumnSize:=1))

Taj datum se onda uzima kao kriterijum za filter (umesto Date -1 kako je bilo prethodno)
Potpis
Nije to loše Rembrante, samo što ne bi dodao još malo boje?
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme