< návrat zpět

MS Excel


Téma: Kontrola prvků, podmínek mezi sheety rss

Zaslal/a 26.10.2012 10:23

Ahoj všem,

žádám o vytvoření VBA scriptu za finanční odměnu pro porovnání prvků a kontrolu podmínek.

Uvedu příklad pro dva sheety, kde se bude provádět kontrola. (Může jich být více v jednom workbooku)
Pro pochopení vycházejte z přiloženého excel souboru.

Sheet č.1 nese název A20.P1, kde se nachází seznam
jmén elementů ve sloupci C.

Zde jsou dva typy elementů a to statický (A20.P1.PT1.PET1) a dynamický (A20.P1.PT1.PE1.PET1)

zpravidla u dynamických elem. je definována podmínka, která je přiřazena ve sloupci I a její definice se nachází ve sloupci N.

Pokud ve sloupci N je napsána "podmínka" tak daný název/zvy jmen elementů se nachází v sheetu č.2 A20.P1.Podminky, kde je seznam všech
elemtů s podmínkou.

Kontrola má spočívát v tom, že:

- kontrola zda jméno elementu s podmínkou z sheetu A20.P1 se nachází v A20.P1.Podmínky.
- kontrola samotné podmínky, která je definována ve sloupci N v A20.P1
např: A20.P1.PT1.PE1.PET1 nese podmínku misto.lokace = cesko první část podmínky (misto.lokace) musí odpovídat textu, který je zapsán v sheetu A20.P1.Podminky ve sloupci D
dále pak vyhodnotit v podmínce operátor což u uváděného příkladu je "=" a zkontrolovat v A20.P1.Podminky ve sloupci F.
Ad. Operátory - v podmínce mohou být =, <>, >, < je nutné je vyhodnotit pomocí stringu ROVNO, NEROVNO, VETSI, MENSI a pak kontrolovat zda to odpovídá ve zmiňovaném sloupci F.
Poslední část podmínky (pokud je string) (cesko), zda odpovídá textu v A20.P1.Podminky ve sloupci J.
Může nastat situace, že v poslední části podmínky není string, ale třeba TRUE, FALSE, NULL a číselné hodnotypokud nastane taková situace kontroluje se zápis ve sloupci I v A20.P1.Podminky.

- u kontroly nerozhoduje velikost písmen

V přiloženém souboru se nachází modelové situace. Která by měli danou specifikaci ujasnit =)
Chci podotknout, že názvy sheetu, jména elementů či podmínek nejsou statický dány. Tzn, že kontrolovat pro všechny sheety ve workbooku, kterou nesou koncovku .Podminky

prosím o vytvoření kódu za finanční odměnu,
PS: spěchá to.
Předem děkuji

Petr

Příloha: zip10055_testovani_podminek.zip (8kB, staženo 22x)
Zaslat odpověď >

#010063
avatar
Vidim, ze se do toho nikdo nehrne. Nerad bych vyfoukl moznost odmeny nejakemu sikulovi v nouzi. 8
Ja to klidne zbastlim for free. Taky se vyjadrujes velmi jasne, coz nebyva castym zjevem. Presto otazka:
Jakym zpusobem se to ma vyhodnocovat? Nejlepe kdyz bys prilozil priklad jednoho vyhodnoceneho listu. Predpokladam, ze to bude na liste ktery nema v nazvu vyraz "podminky". Nevim v kterem sloupci to chces vyhodnocovat a jakym zpusobem napriklad hlasit neshodu anebo absenci daneho elementu na "podminkovem" listu.
Potrebuju, abys navodil veschny mozne neshody a jak je chces mit vyhodnocenecitovat
#010072
avatar
Nemam odpovedi na sve otazky, tak jsem to udelal provizorne. Pokud to narazi na neshodu, tak ji napise do prislusneho sloupce.
Jeste bych rad podotkl, ze kdyz jsem kontroloval chovani makra za pomoci vzorcu v liste, tak treba pro vzorec COUNTIF ty tecky v nazvu listu predstavovaly problem, musel jsem ten nazev zavrit do apostrofu. (Mam US verzi 2010). Takze mozna kdyby to slo, tak radeji bych se vyvaroval v nazvu listu tecek, carek, stredniku, vykricniku... a misto toho pouzil pomlcku nebo podtrzitko. Prozatim to makru nevadilo, ale nevis, jake funcionality tam budes dobastlovat v budoucnu. Taky max pocet znaku v nazvu listu je omezeny (31), je dobre drzet v patrnosti
Příloha: zip10072_testovani_podminek.zip (18kB, staženo 22x)
citovat
#010091
avatar
Ahoj, Milane,

ještě jednou díky za tvoji snahu!

Co se týče scriptu je super, ale má jeden nedostatek a tím je, že pokud pravá část podmínky je v podobě stringu v našem případě "cesko" tak se kontroluje ve sloupci J, kde je ALIAS a nikoli ve sloupci I - tam se kontrola provádí, jen tehdy pokud je pravá část podmínky číslo či boolin.

Ad vyhodnocování:

- Nejlépe, kdyby se výsledky zapsaly do nějakého textboxu a to pokud:

- by chyběl element s podmínkou na podmínkovém listu

=> v textboxu neco jako (Neshoda elementu A20.P1.PT1.PE1.PET1 v podminkovem listu(Nazev))

- pokud by byla neshoda v podmínce treba u operatoru

=> v teboxu (Neshoda podmínky A20.P1.PT1.PE1.PET1 - OPERATOR v podminkovem listu(Nazev))

děkuju mockrátcitovat
#010097
avatar
dobre =)

poslal jsem ti PMcitovat
#010099
avatar
Nic nedoslo, ani spam filtr nic nezachytilcitovat
#010101
avatar
souhlasím s tim vyhodnocenim na novem liste =)
akorat me zarazi proc to PM nechodicitovat

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

On-line nástroje

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Aktivní diskuse