Kako preverim podatke

Pomoč pri izdelavi makrov
Odgovori
PaPaDiZ
Prispevkov: 26
Pridružen: Pe Maj 11, 2007 7:01 am

Kako preverim podatke

Odgovor Napisal/-a PaPaDiZ »

Pozdravljeni

Podatke imam v treh stolpcih (A,B,C). Na podlagi podatka v stolpcu A so la lahko točno določeni podatki v stolpcu B in na podlagi podatka v stolpcu B so spet samo točno določeni podatki v stolpcu C. Sedaj pa vprašanje, kako lahko najhitreje preverim če so podatki v stolpcih A, B in C pravilni. Drugega načina razen en kup zapletenih zank sam ne poznam. Prosim za pomoč.

Hvala
admin
Site Admin
Prispevkov: 3691
Pridružen: Sr Jul 20, 2005 10:06 pm

Re: Kako preverim podatke

Odgovor Napisal/-a admin »

Zakaj zank?

Uporabite strukturo Dictionary in vanj vpišite vrednosti, vsaka vrednost pa ima nadalje kazalec na nov slovar (dictionary)... Potem pa je stvar otročje lahka:
  1. Preverite ali vrednost obstaja v prvem slovarju (to je slovar za stolpec A). Če vrednosti v slovarju ni potem je to napaka
  2. S tem ko ste vrednost v slovarju našli ste kot rezultat dobili nov slovar in to je slovar za stoplec B
  3. Preiščete nov slovar in če vrednosti ne najdete je to napaka, sicer pa spet dobite nov slovar
  4. Dobili ste slovar za stolpec C in če je vrednot notri potem je vse OK, sicer pa je napaka
lp,
Matjaž Prtenjak
Administrator
PaPaDiZ
Prispevkov: 26
Pridružen: Pe Maj 11, 2007 7:01 am

Re: Kako preverim podatke

Odgovor Napisal/-a PaPaDiZ »

Pozdravljen

Ne vem če sem vas prav razumel ali pa sem mogče jaz malo površno razložil. Recimov stolpcu A imam vrednosti
A
1 AOL
2 BA
3 HDP

Če je v celici A1 vrednost AOL potem so lahko v celici B1 vrednosti:
DD ali DP ali MP ali MR ali RE ali...

in sedaj če je v celici B1 vrednost DP so lahko v celici C1 vrednosti:
KO ali MA ali RS ali SA ali SE ali UM

če je v celici B1 vrednost MR so lahko v celici C1 vrednosti:
KO ali MA ali RS ali SA

Možnosti je ogromno in tukaj se mi zatakne.


lp
admin
Site Admin
Prispevkov: 3691
Pridružen: Sr Jul 20, 2005 10:06 pm

Re: Kako preverim podatke

Odgovor Napisal/-a admin »

Da, pravilno sem vas razumel in tudi odgovor je povsem pravilen - zahteva pa malce več programerskega znanja, saj sem vam opisal, kako se to reši "na pravi način" - lahko pa seveda rešujete to tudi preko IF stavkov in podobnega...

Opisana rešitev pa pomeni, da pač zgradite drevo možnosti:

Koda: Izberi vse

AOL ---  DD ---  KO
              |- AA
              |- BB
      |- DP ---  KO
              |- MA
              |- RS
              |- SA
      |- MP ---  KO
              |- AB
              |- DD
              |- EF
      |- MR ---  KO
              |- MA
              |- RS
              |- XX
              |- CC
              |- DD
      |- RE ---  KX
              |- M1
              |- R2
              |- S3
BA  ---  MM ---  KO
              |- AA
              |- BB
      |- NN ---  KO
              |- MA
... in tako dalje ...
 
Seveda pa VBA nima podatkovne strukture, v kateri bi lahko zgradili takšno drevo, zato je potrebno poseči po množici slovarjev (Dictionary)...
lp,
Matjaž Prtenjak
Administrator
Odgovori