iskanje s pomočjo makra

Pomoč pri delu z MS Excelom
Odgovori
jozekam
Prispevkov: 4
Pridružen: Ne Nov 26, 2017 12:32 pm

iskanje s pomočjo makra

Odgovor Napisal/-a jozekam »

Pozdravljeni!
Želel bi posneti makro s pomočjo katerega bi vključil filter, ali več filtrov v tabeli. V celico namenjeno iskanemu podatki bi vpisal iskano vrednost, makro bi mi pa potem v željeni tabeli pokazal iskane vrednosti. Sem že poizkusil posneti makro na takšen način vendar si je ta zapmnil podatek, ki sem ga vpisal v celico ki sem jo potem kopiral v iskalno polje, ki se pokaže ob kliku na filter na začetku tabele. Torej bi morala biti iskana vrednost v makroju spremenljiva glede na mojo željeno vrednost. Hvala za odgovor. Pozdrav Jože
admin
Site Admin
Prispevkov: 3687
Pridružen: Sr Jul 20, 2005 10:06 pm

Re: iskanje s pomočjo makra

Odgovor Napisal/-a admin »

Pozdravljeni,

natanko temu služijo napredni filtri. Predpostaviva, da imate originalno tabelo na področju od A10:K5000, tabelco s pogoji (napredni filter) pa na vrhu, torej na območju A1:K4. Sedaj lahko na področje A2 do K4 vnesete poljubne pogoje in vsakič ko boste izvedli makro MojFilter, se bo tabela filtrirala glede na vnesene pogoje:

Koda: Izberi vse

Sub MojFilter()
    Range("A10:K5000").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=Range("A1:K4"), Unique:=False
End Sub
To je to. To je vsa umetnost in celoten makro. Seveda pa uporablja napredne filtre, ki niso čisto nič posebnega, samo ime imajo visoko zveneke 'Napredni filter', je pa to v Excelu že vsaj 20 let. Več o naprednih filtrih lahko najdete tudi v tem forumu ali pa na moji spletni strani ali pa kje druge po spletu.
lp,
Matjaž Prtenjak
Administrator
jozekam
Prispevkov: 4
Pridružen: Ne Nov 26, 2017 12:32 pm

Re: iskanje s pomočjo makra

Odgovor Napisal/-a jozekam »

Kako pa definiram na katerem delovnem listu so pogoji za filter. Pogoje bi rad imel na drugem delovnem listu filtriral bi pa tabelo na drugem list. Se zahvaljujem za tako hiter odgovor. S takšnim programiranjem se še nisem ukvarjal pač poizkušam zadeve rešiti z makrojem kjer pa ne gre vedno tako kot si zamislim sploh če so prisotne spremenjlivke. lp Jože
jozekam
Prispevkov: 4
Pridružen: Ne Nov 26, 2017 12:32 pm

Re: iskanje s pomočjo makra

Odgovor Napisal/-a jozekam »

Kopiram "clanska_st" in jo potem vrednost vstavim v drug delovni list v filter tabele
v spustni menu za filtriranje
Moj posneti makro izgleda takole

Sub NAJDI_CL_ST()
'
' NAJDI_CL_ST Makro
'

'
Application.Goto Reference:="clanska_st"
Application.CutCopyMode = False
Selection.Copy
Application.Goto Reference:="bazaskk"
Range("A2").Select
ActiveSheet.Range("$A$1:$Y$447").AutoFilter Field:=1, Criteria1:="444"
Range("A1").Select
End Sub
admin
Site Admin
Prispevkov: 3687
Pridružen: Sr Jul 20, 2005 10:06 pm

Re: iskanje s pomočjo makra

Odgovor Napisal/-a admin »

Pozdravljeni,

Kot sem vam omenil, je vaš problem rešljuv z uporabo naprednih filtrov. Napredni filter lahko namreč podatke filtrira tudi na drug list. preberite si torej več o naprednih filtrih in mogoče boste že samo s tem znanjem lahko rešili vaš problem, ter posebnega makra sploh ne boste potrebovali.

Napredni filtri vam namreč omogočajo vnos pogojev v neko območje celic in nato glede na te pogoje filtriranje seznama na obstoječem ali drugem listu.
lp,
Matjaž Prtenjak
Administrator
jozekam
Prispevkov: 4
Pridružen: Ne Nov 26, 2017 12:32 pm

Re: iskanje s pomočjo makra

Odgovor Napisal/-a jozekam »

Mi prosim lahko pomagate, ker ne vem kako skriti rezultata za funkcijo VLOOKUP ali katero drugo ko še nimam vnešenih vseh vrednosti za izračun v ustrezne celice ali celico. Takrat se mi za rezultat prikaže #N/V, ker pa bi moral tabelo natisniti je prikazana ta napaka ali obvestilo. Hvala za pomoč. Jože
admin
Site Admin
Prispevkov: 3687
Pridružen: Sr Jul 20, 2005 10:06 pm

Re: iskanje s pomočjo makra

Odgovor Napisal/-a admin »

Pozdravljeni,

Vaše (novo) vprašanje nima nobene zveze z 'Iskanjem s pomočjo makra!', zato prosim v takšnih odprite novo tematiko.

Kar pa se tiče odgovora, pa je ta dokaj preprost. Vi imate nako formulo, ki v določenem trenutku javi napako (#N/V je napaka in pomeni 'Not a value' oz. 'Ni vrednosti'). Če napake ne želite prikazati, morate uporabiti Excelovo funkcijo in ji povedati, kaj želite prikazati namesto namake.

Vzamiva primer funkcije, ki vrne napako. Naprimer koren negativnega števila ni relano število zato bo funkcija =SQRT(-4) zagotovo javila napako:

Koda: Izberi vse

=SQRT(-4)
Če ne želite videti napake, temveč neko obvestilo, boste napisali tole:

Koda: Izberi vse

=IFERROR(SQRT(-4);"To ne gre")
in videli 'To ne gre'

Če pa želite, v primeru napake, videti prazno celico, pa boste napisali:

Koda: Izberi vse

=IFERROR(SQRT(-4);"")
PS: SQRT je seveda samo primer. Vi boste namesto SQRT zapisali pač vašo VLOOKUP funkcijo.
lp,
Matjaž Prtenjak
Administrator
Odgovori