» »

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.
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.
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.
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. :D Če bo komu kaj koristilo. Saj bi napisal še formulo, pa mi je forum ne "dovoli" (zaradi enih znakov).
LP Marko


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Filter v Excelu

Oddelek: Programska oprema
5566 (537) bojsi
»

Excel-kopiranje vrstic, ki ustrezajo pogoju

Oddelek: Programska oprema
91308 (1189) _jackson_
»

[Excel] problem z makrojem, visual basic (strani: 1 2 )

Oddelek: Programiranje
585668 (5131) steev
»

excel problem

Oddelek: Programska oprema
142122 (1961) ||_^_||
»

problem v tabeli (excel)

Oddelek: Programska oprema
71132 (1077) Jose

Več podobnih tem