Môžete to urobiť aj takto nejako. Len tak v rýchlosti, testoval som to minimálne.
Makrom to je zložité, viď príklad. Nedokážete si to pravdepodobne upraviť. Prečo musia byť tie stĺpce inak? Na základe čoho manuálne prefarbujete bunky v List1? Ak máte nejaké pevne dané podmienky, napr. objednávateľ s najvyššou prioritou, či najstarší dátum a pod, tak to predsa riešte Podmieneným formátom.
Alebo ak nastavujete farebne nejaký stav objednávky (výroba, expedícia, doprava, montáž,...), tak si urobte vedľa každého stĺpca ešte jeden úzky stavový, kde bude výberový zoznam v bunke (napr. písmená V,E,D,M,...) a opäť pomocou Podmieneného formátovania nastavíte farby stavu objednávky. A navyše môžete mať aj prehodené stĺpce, lebo vzorcom dokážete dohľadať index stavového písmena v zdrojovom List1.
Pridal som ako 2. príklad listy Zdroj a Cieľ.
Tu máte teda aj to makro. Je trochu robustnejšie. Snáď som sa v tom moc nezamotal. Takže aj maticový vzorec aj makro môžu mať rôzny počet horizontálnych aj vertikálnych kritérií, len je treba dodržať rozmery oblastí. Veď ono je to aj farebne aj logicky jasné, že pre prípad AND, to nemôže byť inak. Prípad OR by sa robil inak.
Treba to ale otestovať...
No ja by som aj tak asi použil ten vzorec.
Kľudne sa dá nahradiť toto
Case IsEmpty(a): MsgBox "Vybraná buňka musí obsahovat data!", vbExclamation
Case Not IsNumeric(a): MsgBox "Vybraná buňka musí obsahovat číslici!", vbExclamation
za toto
Case IsEmpty(a) Or Not IsNumeric(a): MsgBox "Vybraná buňka musí obsahovat číslici!", vbExclamation
pretože oba prípady, aj keď v bunke nič nieje, aj keď obsahuje nečíslo, môžu kľudne vypísať rovnakú hlášku.
Ale absolútne v pohode to môže byť pomocou If Then, prípadne ElseIf. Ide o to aby ste sa v tom v prvom rade vyznal Vy a vedel si to prípadne ošéfovať.
Tu máte rýchlo ten vzorec na AND, na OR sa to dá odvodiť, no a makro, tak to netuším kedy stihnem...
Keď skúsite Select Case nebude to prehľadnejšie?
Sub kurz()
Dim a, b, c As Double
a = ActiveCell
b = Range("C2")
Select Case True
Case IsEmpty(a): MsgBox "Vybraná buňka musí obsahovat data!", vbExclamation
Case Not IsNumeric(a): MsgBox "Vybraná buňka musí obsahovat číslici!", vbExclamation
Case IsEmpty(b): MsgBox "Zadejte kurz.", vbCritical, "POZOR!"
Case Else: c = a * b * 1000
MsgBox Format(a * 1000, "#,##0" & " €") & " = " & Format(c, "#,##0.00" & " Kč")
End Select
End Sub
martin-l : Volá sa to VBA (Visual Basic for Application) - v Office aplikáciách je užívateľsky zaužívané pomenovanie "makro". V makre nemôžete len tak "meniť údaje", ak neviete čo to spôsobí. Použitie makra nejde vrátiť naspäť - vtedy nefunguje Undo.
Merlin99 : Tie kritériá majú byť typu AND alebo OR? Teda zráta sa hodnota iba ak sú splnené všetky vertikálne kritériá v danom riadku (aj A aj 22), alebo stačí iba niektoré z nich (napr. iba A a 22 nie)? Lebo medzi vertikálnym a horizontálnym kritériom je AND, to je jasné.
Inak premýšľam to spraviť vzorcom s pomocou fnc MMULT namiesto makra. Mrknem na to asi až pozajtra. Zajtra som celý deň preč a teraz už idem prdieť do paplónu :)
EDIT 6:48: Ešte ma napadlo, ak je viac stĺpcov vertikálnych podmienok, tak či už v AND alebo OR, majú sa kontrolovať hľadané kritériá vo všetkých stĺpcoch ? Teda A sa kontroluje v danom riadku aj pre B6:B10 ale aj pre D6:D10? Alebo sa toto práve nesmie robiť?
Nemáte náhodou aj pôvodný súbor s použitím? Dnes sa mi už nechce vymýšľať data ...
"Mollecht" a "argddsver", na ktorý príspevok reagujete ?
Vaša príloha má 0 veľkosť. Toto ale asi nepôjde, lebo ak aj urobíte dynamický Definovaný názov a ten dáte do ListFillRange, tak ActiveX CB nedostane impulz pre reload položiek pri pridaní do zoznamu, len pri ich zmene alebo vymazaní/pridaní riadku. Čo je dosť zvláštne.
Prípadne makrom.
"přebírat" - teda opakovane? Ak áno a zároveň je podfarbenie menené manuálne, tak jedine makrom pri aktivácii List2.
Ak je to jednorázovo (ale to by malo asi byť "přebrat" a nie "přebírat"), alebo opakovane ale s podmieneným formátovaním, tak raz to skopírujte ako píše kabaka.
A nezabudnúť vo vlastnostiach buniek, ktorým má zostať možnosť zmeny, zrušiť Ochrana - Zamknúť bunky.
OT:
Na odľahčenie. Toto je asi môj najnezrozumiteľnejší popis aký som zažil. Dúfam, že si na to pospomínam čo najpresnejšie:
JA: Dobrý deň, zdravím Vás, čo sa deje?
ON: Tuto mi to voľačo vypísalo, také totok, tabuľka, jak máš hentam, to, vedľa, tuto čo je to oné, dole, tak tam to bolo. Voláký krížik či čo.
JA: Nejaké okno s chybou? Čo tam bolo napísané?
ON: Neviem, nestihol som to prečítať, lebo som to zavrel, také červené alebo biele to bolo. A už mi to aj včera vyskakovalo, len som zabudol zavolať.
JA: Pri akej príležitosti to vyskočilo, niečo ste robil alebo spustil?
ON: Nič len, jak som zapol fejsbúk, tak to vyskočilo a potom zmizlo.
Moje dedukcie plynúce aj z toho, že dotyčného (asi 65) poznám a PC som mu robil ja a jeho vyjadrovanie mi je známe. Všetko volá „tabuľka“ (okno, ikona, lišta,...) iba bývalé bublinové popup-ky z XP volá bublina, rovnako ako Centrum správ v 10. Takže to nebude tento druh správy. Bude to okno. FB ale neotvára takéto samostatné okná. Mohla by to byť aktualizácia, ale tam nieje červená a biela farba. Aktualizácie majú červenú ikonku v okne ak neprebehnú OK, ale také okno nevyskakuje samo. Krížik? Ten býva červenobiely, nemätie ho iba tá farba? Nejaká iná aplikácia červenobiela? Acrobat? Ale ten najskôr píše bublinu, ktorú som vylúčil. Pamätám si , že má len kancelársko-komunikačný základ, takže čo to môže byť? Skype? To nemá nič spoločné s FB... Aká iná aplikácia sa štartuje keď sa pripojí na FB? Žiadna. To nebude súvis s FB, ale s pripojením. Aktualizácie som vylúčil. Čo sa ešte pripája na net? Napr. AV.
JA: Nebolo tam napísané niečo o antivíre?
ON: Áno, tuším tam bolo voľačo o víruse.
JA: Eset?
ON: Áno Eset tuším, či také volačo.
A takto som prišiel na to, že mu končí licencia na AV. To je biele okno s červeným, a nieje to bublina, a zobrazí sa pri kontrole licencie pri štarte PC. Mylne vidí súvis s FB, keď sa ide po štarte hneď desocializovať.
Ten pán takto popisuje všetko. Raz som s ním išiel v aute kamsi, a naviguje :
ON: Vidíš hentam, jak je tá zastávka? Jak je ten autobus. Vidíš?
JA: Ano vidím.
N: Za ním je hneď odbočka.
JA: Dávam sa teda do pravého pruhu.
ON: Tak tam nepôjdeme!
:)
Viete, čo znamená „Syn voľačo robil, a zmizla mi tá farebná gulička“ ? – To je ikonka Chrome v lište :)
A takéto popisy riešim furt.
OT:
Čo začnem od konca? To je fuk.
”AL” napsal/a:
Ste urazeny? Co ja s tym?
”AL” napsal/a:
ale zarez na pazbe sa pocita
”jiri.harazim” napsal/a:
...chtěl jsem si to procvičit...
”AL” napsal/a:
Zadanie nema hlavu ani patu
”AL” napsal/a:
skalarny sucin
OT:
AL napsal/a:
... On totiz nie kazdy je nutne hujer ako jeden nemenovany prispievatel, ... za miestneho hujera si rad, ...
Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.