Předmět Autor Datum
podmíněné formátování. 8-)
Tomáš Fuk 23.01.2017 11:10
Tomáš Fuk
To mě samozřejmě napadlo, ale nechápu jak to použít. Podmíněné fomátování obarví buňku na základě to…
Květy 23.01.2017 11:18
Květy
Tak na těch buňkách CVAK pravým myšítkem a ve formátu buněk se pak můžeš vyřádit :-)
Tomáš Fuk 23.01.2017 11:48
Tomáš Fuk
tak si to ujasnime, čo vlastne chceš... Ale já mám jen seznam buněk, ty buňky, které mají být obarv…
robert13 23.01.2017 11:36
robert13
Radcovia ti nemôžu dať radu, keď im neprezradíš kde a ako máš uložený zoznam buniek na ofarbenie.
ok 23.01.2017 11:40
ok
toho je viac, čo by mal prezradiť: ani nie kde a ako je uložené, ale na základe čoho chce prefarbova…
robert13 23.01.2017 11:41
robert13
Seznam buněk mám ve Wordu, ale ten mohu převést jinam, proto mi to nepřišlo důležité, omlouvám se. V…
Jenda-kvety.. 23.01.2017 11:55
Jenda-kvety..
v tom prípade nejde o žiadne podmienené formátovanie. Prečo je problematické manuálne tie bunky jedn…
robert13 23.01.2017 12:44
robert13
Priložený súbor obsahuje makro s týmto kódom: Sub Vyfarbenie() Adresa = Array("A3", "B5", "C1") For…
robert13 23.01.2017 13:16
robert13
Tak medzitým som Ti urobil aj výrobcu poľa adries: Potrebuješ akurát zoznam z Wordu dostať skopírov…
robert13 23.01.2017 13:33
robert13
Jde to i bez cyklu: :-) Sub Vyfarbenie2() Adresa = Array("A3", "B5", "C1") Range(Join(Adresa, ","))…
Siki83 23.01.2017 21:19
Siki83
Vytvoř si makro, kam nasázíš buňky a požadovanou barvu. Barvu přitom můžeš zadat třemi různými způso…
Machr55 23.01.2017 12:14
Machr55
a teraz keď tak pozerám na príspevok Machra55 (pochopil som ho, že by si musel pre každú bunku zapís…
robert13 23.01.2017 14:05
robert13
Chápeme sa? :-D
robert13 23.01.2017 14:09
robert13
Tak se s tím peru a něco nefunguje. Převést seznam není problém. Ale když otevřu tvé makro a do záv…
Květy 23.01.2017 21:01
Květy
Hlásí to syntaktickou chybu - nemáš tam někde v tom seznamu buněk navíc uvozovky nebo čárku? Nebo na…
host 23.01.2017 21:08
host
Nenašel jsem chybu. Navíc seznam převádím výše zmíněným makrem, tak by ani chyba být neměla. Dokonc…
Květy 23.01.2017 21:24
Květy
Máš na konci každého řádku podtržítko?
Siki83 23.01.2017 21:23
Siki83
Nemôžeš len tak zalomiť riadky Enterom. Pokiaľ chceš pokračovať v dlhom zápise jedného príkazu na ďa…
robert13 23.01.2017 21:25
robert13
Nedávám Enter, jen vložím celý ten seznam a samo se to rozdělí na řádky. Když teď chci dát na konci…
Květy 23.01.2017 21:27
Květy
Práveže Enter musíš dať, aby mohli byť riadky rozdelené do viacerých. Nemôže to byť vo viacerých ria…
robert13 23.01.2017 21:39
robert13
Skvěle, už to funguje. Máš pravdu, nebylo místo na ty dva znaky. Takže první zkušenost s makry a je…
Květy 23.01.2017 21:48
Květy
Seš machr! ;-)
robert13 23.01.2017 21:51
robert13
Bez Velemachra jako Ty, by nebyl pidimachr jako já ;)
Květy 23.01.2017 21:52
Květy
Díky, ale tys to nevzdal a nakonec zvládl. Brou noc!;-):beer: poslední
robert13 23.01.2017 21:54
robert13
Ano.... Juchů.... To je přesně ono. Buněk je spousta, takže kopírování fomáru buněk, nebo označování…
Květy 23.01.2017 17:45
Květy

tak si to ujasnime, čo vlastne chceš...

Ale já mám jen seznam buněk, ty buňky, které mají být obarvené, jsou prázdné :(

???
Tak na základe čoho ich chceš prefarbovať?

Majú byť bunky prefarbované na základe obdržaných hodnôt, či už vlastnej hodnoty bunky alebo podľa hodnôt iných buniek alebo podľa výsledkov nejakých funkcií?
Ak áno, tak vtedy sa používa podmienené formátovanie.
Ak to nemá súvis s nijakými hodnotami, tak jednoducho zafarbíš bunku farbou písma a podkladu.
Ak to má byť na základe nejakých hodnôt alebo výsledkov vzorcov, tak sa použije podmienené formátovanie.
A ako píšem, podmienené formátovanie nefarbí len na základe hodnoty samotnej bunky ale podľa množstva rôznych možností, ktorými ťa sprevádza sprievodca podmieneným formátovaním, len si to treba poriadne prezrieť a naštudovať.

Podmienku, podľa ktorej sa má bunka prefarbovať, je potrebné zapísať vzorcom, pokiaľ sa teda (ako píšeš) nemá farbiť na základe svojej vlastnej hodnoty...

v tom prípade nejde o žiadne podmienené formátovanie.
Prečo je problematické manuálne tie bunky jednorazovo vyfarbiť? Je ich tak veľa?
Ak áno, dá sa z Wordu ten zoznam skopírovať do Excelu a urobiť jednoduché makro, ktoré bude postupovať zoznamom a farbiť predmetné adresy.
Pokiaľ toho nie je až tak strašne veľa, existujú postupy, ktoré Ti to uľahčia: zafarbíš jednu bunku, vezmeš z nej kópu formátu (dvojklik na nástroj štetec) a klikom do jednotlivých buniek sa jednoducho do radu farbia alebo si hromadne označíš všetky dotknuté bunky (pridržaním klávesy CTRL sa dajú bunky hromadne priznačovávať aj v nesúvislej oblasti) a naraz ich zafarbíš

Priložený súbor obsahuje makro s týmto kódom:

Sub Vyfarbenie()
Adresa = Array("A3", "B5", "C1")
    For i = 0 To UBound(Adresa)
        Range(Adresa(i)).Interior.ColorIndex = 3
    Next i
End Sub

Uvedený príklad Ti vyfarbí Bunky A3, B5, C1 červeným podkladom spustením makra "Vyfarbenie"

Teraz je otázka, ako dostať zoznam z Wordu do formy Array("A3", "B5", "C1")
Ani to nie je problém. Ak poskytneš zoznam všetkých buniek, tak Ti to do tej formy hodím. Prípadne si to v kóde prepíš sám ale pozor na preklepy!
Kód je prístupný v editore VBA cez kartu Vývojár

Tak medzitým som Ti urobil aj výrobcu poľa adries:

Potrebuješ akurát zoznam z Wordu dostať skopírovaním do Excelu tak, aby adresy buniek vytvárali zvislý zoznam.
Môžeš si tlačidlom vyskúšať, ako makro zo zvislého zoznamu v stĺpci A vytvorí pole adries, ktoré potrebuješ skopírovať do zátvorky prvkov poľa v predchádzajúcom kóde (Naplň si zoznam v stĺpci A ľubovoľnými adresami, pričom medzi nimi nesmie byť prázdna bunka a stlač tlačidlo. Obsah bunky B2 sa zmení tak, že obsahuje adresy stĺpca A pospájané do požadovaného tvaru pre definovanie prvkov poľa)

kód:

Sub PoleAdries()
    Range("B2") = """" & Range("A1") & """"
    For i = 2 To Range("A1").End(xlDown).Row
        Range("B2") = Range("B2") & ", """ & Range("A" & i) & """"
    Next i
End Sub

Pokiaľ máš vo Worde vymenované adresy buniek za sebou a oddelené čiarkami, tak je to ešte jednoduchšie: stačí čiarku medzi prvkami nahradiť výrazom "," a máš hneď pole v tvare, v akom ho potrebuješ dosadiť do zátvorky prvkov poľa v predchádzajúcom kóde

Vytvoř si makro, kam nasázíš buňky a požadovanou barvu. Barvu přitom můžeš zadat třemi různými způsoby. Příklad takového makra:

Sub Makro1()
  Range("B2").Interior.Color = RGB(80, 120, 80)  ' Barva zadaná jako RGB
  Range("B3").Interior.Color = vbGreen           ' Barva zadaná konstantou
  Range("B4").Interior.ColorIndex = 3            ' Barva zadaná indexem
End Sub

Místo B2, B3, B4 si nasázej svoje adresy. O zadání barev těmi třemi způsoby se více dozvíš třeba zde.

a teraz keď tak pozerám na príspevok Machra55 (pochopil som ho, že by si musel pre každú bunku zapísať riadok kódu), tak sa to dá aj takto (čím sa Machrovi ospravedlňujem):

Sub Makro1()
    Range("B2,E8,H4,H10,F17,C15,C10,C20").Interior.ColorIndex = 3
End Sub

pričom v zátvorke je zoznam adries. Toto nahrádza moje prvé makro (v Zošit1.xlsm).

Záleží teda od toho, ako to máš vo Worde. Pokiaľ tam máš zoznam za sebou oddelený čiarkami, tak to je práve to, čo potrebuješ do tohto makra.
Pokiaľ to máš pod sebou, tak môžeš použiť môj "výrobník" poľa, pričom z neho odstránime úvodzovky (druhé tlačidlo)

Nenašel jsem chybu. Navíc seznam převádím výše zmíněným makrem, tak by ani chyba být neměla.

Dokonce se to chová nějak divně, protože (znovu podotýkám, že s makrem dělám prvně ;) )

Totiž když do makra obarvení chci zkopírovat celý ten seznam buňek, hodí se mi sám mimo uvozovky a nemohu ho tam dostat.
I když mezi uvozovky zadám první a poslední buňku a pak mezi ně vložím zbytek, stejně se mi hodí pod uvozovky a zčervenají, viz obrázek.

Práveže Enter musíš dať, aby mohli byť riadky rozdelené do viacerých. Nemôže to byť vo viacerých riadkoch bez rozdeľovačov (medzera, podtržník a Enter). Porozdeľuj si to do riadkov po nejakých rozumných dávkach, aby si videl vždy aj konce riadkov. V mieste, kde ti to rozdelí samotný editor, už nemáš miesto - nedovolí na koniec riadka ešte vložiť tú nutnú medzeru a podtržítko (na konci každého čiastkového riadka, ktorý má pokračovať)!
Ak by to nešlo, urob to po blokoch, trebárs 5x. Neviem, či na dľžku (počet prvkov) existuje obmedzenie. Sám by som si to odskúšal trebárs polovicou alebo štvrtinou adries...

Ano.... Juchů....
To je přesně ono. Buněk je spousta, takže kopírování fomáru buněk, nebo označování pomocí CTRl, to vše samozřejmě znám, ale je to zdlouhavé. Navíc to není naposledy, kdy to budu potřebovat.

To vaše makro za chvíli vyzkouším.

Děkuji na tisíckráte.

Zpět do poradny Odpovědět na původní otázku Nahoru