Stránka 1 z 1
Excel: změna barvy buňky jedním klikem
Napsal: 06 zář 2014 09:02
od Darth Vader
Čau,
dělám si pro usnadnění práce tabulku, do který zaznamenávám dva stavy - ano nebo ne - a potřebuju poradit.
Vyjádření řeším změnou barvy buňky (zelená nebo červená), jenže to dělám přes panel nástrojů (což s sebou obnáší označení buňky, najetí na panel nástrojů, rozkliknutí barvy pozadí a vybrání barvy. To je dost zdlouhavý.
Proto bych chtěl vytvořit tabulku, ve které by buňka měla dva stavy (zelená a červená), mezi kterými by se přepínalo jedním klikem myši: zkrátka na začátku jsou všechny buňky červené. Kliknu na jednu buňku a ta zezelená. Kliknu na ní znovu a ona zpátky zčervená. A tak pořád dokola.
Víte někdo, jak to udělat? Nevím, jak problém pojmenovat, takže jsem zatím nic kloudnýho nenašel.
Nejradši budu, když to bude v Excelu. Když ale nepůjde jinak, udělám to v HTML.
Díky
--- Doplnění předchozího příspěvku (06 Zář 2014 12:18) ---
Nikdo nic?
Re: Excel: změna barvy buňky jedním klikem
Napsal: 06 zář 2014 15:07
od Azuzula
Ahoj, musí to být jedním kliknutím?
Pokud ne, použila bych ověření dat a podmíněné formátování.
Pokud ano, budeš potřebovat makro.
Re: Excel: změna barvy buňky jedním klikem
Napsal: 06 zář 2014 15:33
od Darth Vader
Díky moc. Takže to jde?
S tím ověřením dat by to mělo fungovat na jakym principu?
Re: Excel: změna barvy buňky jedním klikem
Napsal: 06 zář 2014 16:30
od Azuzula
Nastavíš si seznam v ověření dat, potom budeš vybírat v buňce možnost 1 nebo 0 a podle toho se podmíněným formátováním může měnit barva buňky.
V příloze je příklad i s tabulkou, když pak přidáš další řádek, tak se automaticky kopíruje formát dál.
Re: Excel: změna barvy buňky jedním klikem
Napsal: 08 zář 2014 12:54
od guest
Do budoucna vám dám radu - vykašlete se na rozlišení stavu jen podle barvy a říkám to lidem od rána do večera (filtry Excelu 2003 a starší, barvoslepost, černobílá kopírka, ... vysčítávání čistě dle barvy je snad nejblbější a nejčastější úloha vůbec). Ale když už...
Podmíněný formát s testem na jiných buňkách (ta a ta buňka vlevo vyplněna) - OK, i když platí to, co v předchozím odstavci.
Podmíněný formát spolu s ověřením - technicky OK, pracnost o něco menší než běžně, teoreticky by šlo podpořit makrem na otvírání roletky ověření.
Makro samo o sobě také není 100% řešení - lze realizovat jen na událost SelectionChange a změna by spočívala v překliknutí jinam (tj. opětovné klepnutí na buňku ji nezmění).
Re: Excel: změna barvy buňky jedním klikem
Napsal: 09 zář 2014 11:30
od cmuch
Dvě možnosti jak se tomu přiblížit.
1)
Umístit do modulu listu
Kód: Vybrat vše
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If ActiveCell.Address = "$A$1" Then
If Target.Interior.ColorIndex = xlNone Then
Target.Interior.ColorIndex = 6
ElseIf Target.Interior.ColorIndex = 6 Then
Target.Interior.ColorIndex = 3
ElseIf Target.Interior.ColorIndex = 3 Then
Target.Interior.ColorIndex = 6
End If
Range(ActiveCell.Address).Offset(0, 1).Select
End If
End Sub
2)
Umístit do modulu listu
Kód: Vybrat vše
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Cancel = True
Worksheet_SelectionChange Target
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Interior.ColorIndex = xlNone Then
Target.Interior.ColorIndex = 6
ElseIf Target.Interior.ColorIndex = 6 Then
Target.Interior.ColorIndex = 3
ElseIf Target.Interior.ColorIndex = 3 Then
Target.Interior.ColorIndex = 6
End If
End Sub
Re: Excel: změna barvy buňky jedním klikem
Napsal: 09 zář 2014 18:44
od guest
cmuch: Jukněte se na konstrukce Select..Case a With...End With
Jinak ten úskok offsetem - no je to takový nepěkná věc no, ale jak jsem psal, ono to vyřešit inteligentně nejde.
Re: Excel: změna barvy buňky jedním klikem
Napsal: 10 zář 2014 18:38
od cmuch
To vím jak se používá, ale mě to přišlo pro toto lepší
Náprava k dvojce
Kód: Vybrat vše
With Target.Interior
Select Case .ColorIndex
Case xlNone: .ColorIndex = 6
Case 6: .ColorIndex = 3
Case 3: .ColorIndex = 6
End Select
End With