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

Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
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

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