Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Excel - Problém s makrem k změně barvy pozadí vybraných buněk

Dobrý den,

Do souboru jsem vložil makro, které zvýrazní tyrkysovou barvou vyznačené buňky

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Application.ScreenUpdating = False
    ' Clear the color of all the cells
    Cells.Interior.ColorIndex = 0
    ' Highlight the active cell
    Target.Interior.ColorIndex = 8
    Application.ScreenUpdating = True
End Sub

[]

Kód na první pohled funguje správně, ale jsou tu čtyři problémy.

1. Když kliknu na buňku s vlastním barvou pozadí díky podmíněnému formátování, tak to nefunguje. Tam by stačilo zvýšit prioritu.
2. V souvislosti s tím se zruší všechny barvy pozadí, které jsou nastavené ručně a ani to nejde změnit. Po kliknutí bokem barva pozadí opět zmizí.
3. Pokud to má otevřeno více uživatelů, jeden to označí, zvýrazní se mu to a vidí to i druhý. Pokud to však označí ten druhý, ten první to uvidí taky, ale jemu to zvýraznění zmizí respektive jsou zvýrazněné buňky vždy jedním uživatelem.
4. Jak omezit, aby to dělal pouze v určitém rozsahu, poněvadž tím že pracuje s celou tabulkou, je to mírně pomalé.

Prosím o radu,

Děkuji

Předmět Autor Datum
Tebe sa nezvýrazňuje vybraná oblasť buniek? Alebo ide len o to, že Ti nevyhovuje farba? Stojí Ti to…
robert13 30.08.2023 12:56
robert13
On bude problem i s tím pověšením na událost SelectionChange. Pak se to bude měnit při každém kliknu…
Jan Fiala 30.08.2023 12:58
Jan Fiala
Barvu měnit nechci. A jak jsem napsal, pokud vyberu oblast buněk, změní barvu, ale jakmile vybere ná…
MichalDM 30.08.2023 14:05
MichalDM
Samozrejme, ze barva zmizí. Máš to tak v kodu napsané. Vyhod radek s mazanim pozadi a barva bude zus…
Jan Fiala 30.08.2023 16:35
Jan Fiala
Odpovede na body dotazu: 1) logické: podmienené formátovanie má farbu nastavenú podľa podmienky a p… poslední
robert13 30.08.2023 19:05
robert13

Barvu měnit nechci. A jak jsem napsal, pokud vyberu oblast buněk, změní barvu, ale jakmile vybere náhodnou oblast někdo jiný, barva zmizí.

Šlo mně jenom o to, aby šli dobře vidět i ty buňky, co mají ohraničení. Jenže, tento kód, který uvádí sám Microsoft, přináší víc potíží než užitku.

Odpovede na body dotazu:

1) logické: podmienené formátovanie má farbu nastavenú podľa podmienky a preto nedovolí zmenu farby, kým výsledkom výrazu podmienky je Pravda
2) logické: keď bunku prefarbíš, prečo by sa mala objaviť jej pôvodná farba po jej odfarbení výberom? Máš niekde odloženú informáciu, že táto bunka bola predtým napr. ružová?
3) logické: aj keď viac užívateľov, stále pracujú na tom istom súbore, t.j. kód zapracuje akonáhle sa zmení výber a je jedno, či výber zmení jeden, druhý alebo x-tý užívateľ
4) je možné zadať len určitú oblasť, v ktorej sa má vykonávať kontrola, či zmena nastala len v rámci tejto oblasti. Excel si oblasť zmeny označuje ako Target. Kód sa vykoná len pokiaľ je Target podmnožinou tebou zadanej oblasti pre kontrolu

Keďže nie je možné zabezpečiť, aby prvé tri body pracovali ako ty chceš a nie podľa pravidiel Excelu (resp kód by bol neúmerne komplikovaný kvôli tak nezmyselnej požiadavke), nemá význam riešiť ani 4. bod.

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