VBA-upozornit při chybě Vyřešeno

Programy pro práci v kanceláři (Word, Excel, Access…=>Office)

Moderátor: Mods_senior

saabturboclub
Level 1
Level 1
Příspěvky: 99
Registrován: červenec 10
Pohlaví: Muž
Stav:
Offline

VBA-upozornit při chybě

Příspěvekod saabturboclub » 24 zář 2010 18:01

Hezké odpoledne,
potřeboval bych poradit jak níže uvedený požadavek vyřešit, nenašel jsem pod čím hledat abych napsal do VBA.
V excelu mám vložený vzorec (=stejné...), který porovnává dvě buňky, zda jsou stejné (dva sloupce na listu) s tím, že podmíněným formátováním jsem sloupec se vzorcem upravil, aby při vyhodnocení "pravda" neukazoval text a při vyhodnocení "nepravda" červeně tuto buňku zbarvil a tím mně opticky upozornil na chybu.
Hledám jiné řešení nejlépe tak, aby při dokončení nějaké funkce (třeba aktualizace dat) tuto kontrolu sám provedl, t.j. porovnal dva sloupce a pokud by vyhodnotil při porovnání "chybu" tak mně vyskakovacím oknem na toto upozornil, pokud by chyba nebyla, nic by neupozornil.
Jednoduše by asi i stačilo, jak mám napsat ve VBA aspoň to, že pokud by sloupec obsahoval určité slovo (v mém případě "nepravda") tak by na mně vyskočilo upozornění. Takto všeobecně se mi hodí při jakémkoliv použití, kde bych si sám hodnoty a podmínky ve VBA upravil.
Základ jak by mohlo vypadat ve VBA jsem nenašel.
PŘIKLÁDÁM JEDNODUCHÝ PŘÍKLAD, který rád nahradím něčím jiným, jasně upozorňujícím :smile:
RADA.xlsx
(11.2 KiB) Staženo 15 x


používám pro pracovní účely tabulek, počítající výkon / přírustek práce / podkaldy pro rozpis atd... rozhození všeho způsobí jen špatný název práce zadaného pracovníka, kde já mám pevně dané názvy....

Díky

PS: mám ještě vytvořené tlačítko ve VBA, které po stisku uloží soubor pod daným názvem a vygeneruje email, který přiloží jiný excel dle názvu. Jaký by byl kód, který by do emailu přiložil místo zadané cesty na soubor tak aktuálně otevřený soubor ve kterém je i tlačítko (prostě odeslat aktuální soubor)... stačí mi jen řádek této funkce, zbytek jsem už zvládl:)

Reklama
navstevnik
Level 4
Level 4
Příspěvky: 1142
Registrován: srpen 08
Pohlaví: Nespecifikováno
Stav:
Offline

Re: VBA-upozornit při chybě

Příspěvekod navstevnik » 24 zář 2010 18:48

Zmena barvy pozadi bunky podminenym formatem je jednoduchym ale dostatecnym upozornenim.
Pouziti VBA je spise jakymsi cvicenim.

Pro reseni ve VBA je zapotrebi konkretizovat:
- aktualizovana data budou vkladana vzdy do stejne oblasti listu a bude stejny rozsah?
- co by mela byt spousteci udalost pro porovnani, zmena hodnoty bunky, tlacitko?
(- obecne reseni vyzaduje zadat uzivatelem porovnavanou oblast.)

saabturboclub
Level 1
Level 1
Příspěvky: 99
Registrován: červenec 10
Pohlaví: Muž
Stav:
Offline

Re: VBA-upozornit při chybě

Příspěvekod saabturboclub » 26 zář 2010 00:53

ahoj, ano, to je sice upozornění dostačující, ale protože rozsah řádků je více jak umožnuje monitor, musím na listu rolovat, to samé u dalších listů a tak i každý den:) aktualizovana data jsou vzdy ve stejném sloupci a seznam pevných dat vedle také ve stejném sloupci, akorát se řádky můžou lišit jen tím, když někdo napíše něco navíc za práci, když mi pošlešlete email, zašlu i originál celé tabulky pro příklad.... jinak se da i řict, že by to mohlo fungovat stejně na principu, že v porovnávaném sloupci by tlačítko umazalo věci, které dle pevného seznamu nepatří, tím bych problém též vyřešil.
Jsem myslel, že by se to dalo tímto řešit, když pak každý den po zadání dat kontroluji v listech, jestli někde nevyskočí moje červená chyba a pak případně položku z dat umazal ...omrzí.... tlačítkem jsem myslel třeba to, že by zkontroloval zda sloupce souhlasí.... použití jen jednou v daný den, v celé tabulce pak pořád aktualizuji data,to už by potřeba nebylo...

saabturboclub
Level 1
Level 1
Příspěvky: 99
Registrován: červenec 10
Pohlaví: Muž
Stav:
Offline

Re: VBA-upozornit při chybě

Příspěvekod saabturboclub » 26 zář 2010 02:51

ale když už to tak čtu a vymýšlím možnosti co by stačilo, tak vlastně na základním listu kde plním data si můžu do buňky nastavit vzorec "když" s tím, že by ukazoval "něco" akorát, pokud by sloupec obsahoval "nepravda"....

navstevnik
Level 4
Level 4
Příspěvky: 1142
Registrován: srpen 08
Pohlaví: Nespecifikováno
Stav:
Offline

Re: VBA-upozornit při chybě  Vyřešeno

Příspěvekod navstevnik » 26 zář 2010 08:29

Vyborne, dospel jsi k celkem jednoduchemu reseni a to bez nutnosti pouzit VBA. A jak to udelat?
V pomocnem sloupci (napr.: E1:E10) misto podmineneho formatovani vloz do bunek vzorec, ktery bude vracet vysledek Pravda/Nepravda (napr.: =KDYŽ(A1<>B1;PRAVDA;"") a kopiruj dolu) a do bunky s vyslednym vyhodnocenim pomocneho sloupce vzorec napr.: =KDYŽ(SOUČIN.SKALÁRNÍ((E1:E10=PRAVDA)*1)>0;"Rozdily ve sloupcich A:B";""). Misto navratove logicke hodnoty muzes pouzit jen znak - =KDYŽ(A1<>B1;"*";"") a =KDYŽ(SOUČIN.SKALÁRNÍ((E1:E10="*")*1)>0;"Rozdily ve sloupcich A:B";"").
Pokud potrebujes vratit cislo radku s chybou, pak v pomocnem sloupci vloz vzorec: =KDYŽ(A1<>B1;ŘÁDEK();"") kopiruj dolu a do sloupce s vyhodnocenim: =KDYŽ(JE.CHYBA(SMALL($E$1:$E$10;ŘÁDEK(1:1)));"";SMALL($E$1:$E$10;ŘÁDEK(1:1))) a kopiruj dolu.

saabturboclub
Level 1
Level 1
Příspěvky: 99
Registrován: červenec 10
Pohlaví: Muž
Stav:
Offline

Re: VBA-upozornit při chybě

Příspěvekod saabturboclub » 29 zář 2010 00:49

:) Ahoj, zkusím jak píšeš a dám vědět...

saabturboclub
Level 1
Level 1
Příspěvky: 99
Registrován: červenec 10
Pohlaví: Muž
Stav:
Offline

Re: VBA-upozornit při chybě

Příspěvekod saabturboclub » 01 říj 2010 02:00

Ahoj,
tak by to bylo OK, nakopíroval jsem, nastavil a běhá to přesně jak má, tak že paráda, díky moc za pomoc.... ještě řeším jednu věc, ale zatím se budu snažit na to přijít sám:)


Zpět na “Kancelářské balíky”

Kdo je online

Uživatelé prohlížející si toto fórum: Google [Bot] a 22 hostů