Forum » Programska oprema » Excel - Custom autofilter
Excel - Custom autofilter
BlackHole ::
Rabim makro, ki bo nastavil "custom autofilter" na določene vrednosti. Te vrednosti se lahko pred izvedbo makroja zapišejo v določene celice. Spodaj je primer, kjer potrebujem ta makro. Imam škatle različnih notranjih dimenzij. Sestavljajo jih 3 dimenzije: dolžina (stolpec D), širina(E) in višina(F). Večkrat moram v seznamu poiskat škatlo določenih mer, recimo 100x100x50. Ta mera pa lahko odstopa, vedno navzgor, recimo da še veljajo mere 120x120x70, torej za 20 večje. Za to se mi zdi najbolj uporaben Custom autofilter, če pa je še kakšna druga opcija... Makro rabim zato, ker je zelo zamudno za vsak stolpec nastavljat ročno ta autofilter. Uspelo mi je nardit en enostaven makro, kjer se določijo pogoji, vrednosti pa je treba vnesti ročno naknadno, kar je sicer precej bolj praktično. Me pa zanima, če je še kak bom simpl način-sigurno je-torej da bi vrednosti od do vnesel v neke celice ali pa da bi vnesel najmanjšo vrednost, zraven pa odstopanje v +. Upam, da bo razmuljivo.
Primer.
Primer.
LP Marko
smetko ::
Kar rabiš enostavno dobiš če vključiš [posnami nov makro...]in narediš željeno.
No comment
BlackHole ::
Ne, ni tako enostavno. Kako pa naj željene vrednosti vnesem v tista polja v okencu za custom autofilter?
Copy-paste finta ne deluje, ker si makro zapomni vrednost, ki si jo prilepipl v polje in potem vedno jemlje tisto vrednost. Razen, če si mislil kako drugače.
Pozna mogoče kdo bolj podrobno Avanced filter? Tam se da neke pogoje bolj precizno nastavljat, samo sem zdaj na brzino preletel "pomoč" pa nisem prišel do nekega rezultata.
Copy-paste finta ne deluje, ker si makro zapomni vrednost, ki si jo prilepipl v polje in potem vedno jemlje tisto vrednost. Razen, če si mislil kako drugače.
Pozna mogoče kdo bolj podrobno Avanced filter? Tam se da neke pogoje bolj precizno nastavljat, samo sem zdaj na brzino preletel "pomoč" pa nisem prišel do nekega rezultata.
LP Marko
smetko ::
za primer ti bob razložil ukaze ki sem jih dobil po snemanju makra.
Range("A:B").Select
Selection.AutoFilter
Ta dva ukaza ti označita področje in dodata autofilter s pomočjo helpa pa lahko ugotoviš da namesto 'Selection.AutoFilter' lahko uporabiš 'AutoFilterMode = True' za vključitev oziroma 'AutoFilterMode = False' za izklučitev filtra oziroma uporabiš spodnji ukaz da ti vključi avtofilter če še ni vključen
If Not AutoFilterMode Then AutoFilterMode = True
Selection.AutoFilter Field:=1, Criteria1:="=5", Operator:=xlOr, Criteria2:="=6"
Ta ukaz v prvem polju (stolpec A)(Field:=1) določi pogoj da mora polje biti enako 5 ( Criteria1:="=5") ali 6
Selection.AutoFilter Field:=2, Criteria1:="=32", Operator:=xlAnd
Ta ukaz v Drugem polju (stolpec B) določi pogoj da mora polje biti enako 32
Selection.AutoFilter Field:=2
Ta ukaz počisti filter v Drugem polju (stolpec B).
polje = 1
kriterij = ">1"
Selection.AutoFilter Field:=polje, Criteria1:=kriterij
tako pa nastavljaš s pomočjo spremenljivk.
Range("A:B").Select
Selection.AutoFilter
Ta dva ukaza ti označita področje in dodata autofilter s pomočjo helpa pa lahko ugotoviš da namesto 'Selection.AutoFilter' lahko uporabiš 'AutoFilterMode = True' za vključitev oziroma 'AutoFilterMode = False' za izklučitev filtra oziroma uporabiš spodnji ukaz da ti vključi avtofilter če še ni vključen
If Not AutoFilterMode Then AutoFilterMode = True
Selection.AutoFilter Field:=1, Criteria1:="=5", Operator:=xlOr, Criteria2:="=6"
Ta ukaz v prvem polju (stolpec A)(Field:=1) določi pogoj da mora polje biti enako 5 ( Criteria1:="=5") ali 6
Selection.AutoFilter Field:=2, Criteria1:="=32", Operator:=xlAnd
Ta ukaz v Drugem polju (stolpec B) določi pogoj da mora polje biti enako 32
Selection.AutoFilter Field:=2
Ta ukaz počisti filter v Drugem polju (stolpec B).
polje = 1
kriterij = ">1"
Selection.AutoFilter Field:=polje, Criteria1:=kriterij
tako pa nastavljaš s pomočjo spremenljivk.
No comment
BlackHole ::
Hja, uspelo mi je točno to kar sem hotel! In sicer kot kriterij sem uporabil FORMULO z IF stavkom. Ta preveri če je vrednost, ki jo vnesem v celico večja od vsake vrednosti v tabeli (stolpcu dolžina). Če ustreza pogoju, jo filter izpiše sicer pa ne. In takih kriterijev imam 6, za vsako dimenzijo (dolžina, širina, višina) po 2, zgornja in spodnja meja. To bi se sicer dalo spravit tudi v 3 kriterije. Če bo komu kaj koristilo. Saj bi napisal še formulo, pa mi je forum ne "dovoli" (zaradi enih znakov).
LP Marko
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Filter v ExceluOddelek: Programska oprema | 572 (543) | bojsi |
» | Excel-kopiranje vrstic, ki ustrezajo pogojuOddelek: Programska oprema | 1324 (1205) | _jackson_ |
» | [Excel] problem z makrojem, visual basic (strani: 1 2 )Oddelek: Programiranje | 5707 (5170) | steev |
» | excel problemOddelek: Programska oprema | 2135 (1974) | ||_^_|| |
» | problem v tabeli (excel)Oddelek: Programska oprema | 1139 (1084) | Jose |