Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
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
Jde to i bez cyklu: :-) Sub Vyfarbenie2() Adresa = Array("A3", "B5", "C1") Range(Join(Adresa, ","))… nový
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… nový
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… nový
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… nový
Květy 23.01.2017 21:24
Květy
Máš na konci každého řádku podtržítko? nový
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… nový
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… nový
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… nový
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… nový
Květy 23.01.2017 21:48
Květy
Seš machr! ;-) nový
robert13 23.01.2017 21:51
robert13
Bez Velemachra jako Ty, by nebyl pidimachr jako já ;) nový
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

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

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...

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