iskanje podatka v nizu podatkov

Pomoč pri izdelavi makrov
Odgovori
VHJimmi
Prispevkov: 8
Pridružen: Sr Dec 06, 2006 5:46 pm

iskanje podatka v nizu podatkov

Odgovor Napisal/-a VHJimmi »

Zanima me kako bi napisal pravilno definicijo v VB, da bi mi podatek (Metka), ki je v drugi tabeli poiskala/izbrala celico s podatkom v tabeli z nizom podatkov (Metka).
Npr.:
Iščem
Metka

v tabeli z nizom podatkov
1 Janko Da
2 Metka Ne

100 Jože Da

Za vašo pomoč in odgovor se vam lepo zahvaljujem in vas lepo pozdravljam
Jimmi
admin
Site Admin
Prispevkov: 3687
Pridružen: Sr Jul 20, 2005 10:06 pm

Odgovor Napisal/-a admin »

Pozdravljeni,

Ne razumem, kaj točno želite. Če govorite o VB-ju potem bi morali natančneje definirati, kaj mislite s tabelo, kajti v tem primeru lahko govorite o pomnilniški tabeli ali pa o podatkovni bazi oz. o tabeli v podatkovni bazi.

V kolikor pa mislite VBA potem pa sklepam, da govorite o Excelu in če je temu tako, potem za to sploh ne potrebujete VBA-ja, saj zna to rešiti že Excel. No; vsaj delno zna to rešiti Excel, ki vam lahko pove lokacijo celice, tja pa vas ne more prestaviti, to pa res mora narediti VBA.

Kaj vas torej zanima?
lp,
Matjaž Prtenjak
Administrator
VHJimmi
Prispevkov: 8
Pridružen: Sr Dec 06, 2006 5:46 pm

iskanje podatka v nizu podatkov

Odgovor Napisal/-a VHJimmi »

Ojla.

Gre za MS Excel in za vprašanje kode v eni od procedur makroja, ki naj bi se izvajala v MS Excelu.
Težava je v tem, da če v kodi makra uporabim izjavo If..Then, je ta zelo, zelo velik (tja do 40MB).
Npr.:
Iskani podatki so zapisani v tabeli v stolpcu AB (npr.:"Metka")
Iščem pa ta podatek v drugi tabeli z raznimi dodatnimi podatki ki se nanašajo na iskani podatek in so zapisani v stolpcih A do Z (npr.: "Metka je zapisana v eni izmed vrstic v stolpcu F).

Če zapišem naslednji primer kode
If Range("AB201") = Range("F201") Then
...
End If
If Range("AB201") = Range
("F202") Then
...
End If

moram za vsako posamezno celico v stolpcu AB se vprašati če je enaka celici v tabeli z dodatnimi podatki (stolpec F), da mi jo izbere in kopira še določene dodatne podatke zapisane v isti vrstici na drug list po zaporedju podatkov za iskanje v stolpcu AB.
Iskanje ca. 80. podatkov zapisanih v stolpcu AB se opravi večkrat saj zaporedje v stolpcu AB ni vedno enako.

Pri manjšem številu podatkov v tabeli z dadatnimi podatki, sem napisal na drug list v posamezno celico sklic s formulo (s kombinacijo funkcij IF in CHOOSE), pri večjem, pa me opozarja, da je formula predolga.

Upam, da nisem preveč zakompliciral stvari.
Lep pozdrav
Jimmi
admin
Site Admin
Prispevkov: 3687
Pridružen: Sr Jul 20, 2005 10:06 pm

Odgovor Napisal/-a admin »

Če vas vsaj pribljižno razumem, potem ste zakomplicirali, da se bolj zakomplicirati ne da. Seveda, če vas prav razumem; iz vašega vprašanja namreč nikakor ne razberem, kaj natančno vas muči.

Občutek imam, da vas muči sledeče. Imate neka imena in ob teh imenih bi želeli imeti še druge podatke, ki spadajo k tem imenom in so zapisani v drugi tabeli. Če je temu tako, potem sploh ne potrebujete VBA-ja in vse vam reši najosnovnejša funkcija VLOOKUP, o kateri si lahko več preberete med pogostimi vprašanji:
#165 http://matjazev.net/pnew/index.php?Page ... ip165.html

ter v nekaterih tematikah tega foruma. Tematike najdete tako, da zgoraj v forumu odprete opcijo 'Išči' in v iskalno polje vpišete niz VLOOKUP. Našli boste preko 10 tematik.
lp,
Matjaž Prtenjak
Administrator
VHJimmi
Prispevkov: 8
Pridružen: Sr Dec 06, 2006 5:46 pm

Odgovor Napisal/-a VHJimmi »

Ojla.

Najlepša hvala za pomoč in nasvet.
Problemček sem uspešno rešil s funkcijo VLOOKUP.
Tudi sam sem najprej poskušal s to funkcijo, a nisem dobil želenega rezultata, ker nisem v prvi stolpec tabele s podatki postavil pravi stolpec to je stolpec ki vsebuje tudi iskani podatek.

Lep pozdrav s Primorske
Jimmi
Odgovori