Nov teden, nov problem oziroma nov izziv. Ko ljudi naučis uporabljat Filter (Razvrsti in filtriraj -> Filter), začnejo takoj razgljabljat, da je v nekaterih tabelah preveč podatkov, preveč klikanja, preveč napak. Skratka vsega je preveč. Vse to je pripeljajo da ideje o preprostem Obrazcu (UserForm), kjer bi uporabnik vnesel pogoje za filtriranje, pritisnik OK in stvar bi delovala.
Najprej potrebujemo sestavine:
– 1x UserForm (UserForm1)
– 2x TextBox (txtFrakcija in txtNaselje)
– 2x Label (Frakcija in Naselje)
– 1x Button (cmdIsci)
Naredimo obrazec
Ko smo z izgledom obrazca približno zadovoljni, dvakrat kliknemo na gum išči in odpre se nam urejevalnik kode. Vnesemo nekaj preprostih vrstic:
Selection.AutoFilter
ActiveSheet.Range(“$A$1:$E$631″).AutoFilter Field:=2, Criteria1:=”*” & txtFrakcija.Value & “*”
ActiveSheet.Range(“$A$1:$E$631″).AutoFilter Field:=4, Criteria1:=”*” & txtNaselje.Value & “*”
End Sub
Še kratka razlaga. Na aktivnem listu, kjer imamo seveda vklopljen Filter, lahko filtriramo podatke po 2. in 4. stolpcu. Poleg tega sem dodal še “*” na začetek in konec.
Na excelov delovni list sem dodal še gumb za zagon obrazca in ga povezal z:
Sub odpri()
UserForm1.Show
End Sub
Zanimivo je, da lahko uporabimo txtFrakcija.Value ali txtFrakcija.Text. V obeh primerih stvar deluje.