VBA: Interior.Color zadané pomocí HEXA Vyřešeno

Programy pro práci v kanceláři (Word, Excel, Access…=>Office)

Moderátor: Mods_senior

d1amond
člen HW spec týmu
Elite Level 12
Elite Level 12
Příspěvky: 16119
Registrován: květen 08
Bydliště: České Budějovice
Pohlaví: Muž
Stav:
Offline

VBA: Interior.Color zadané pomocí HEXA

Příspěvekod d1amond » 26 srp 2013 20:58

Zdravím,

věděl by někdo chytřejší než já, jak by se dala zadat barva pomocí HEXA kódu?


//update

Kód: Vybrat vše

Function HexToLongRGB(sHexVal As String) As Long
    Dim lRed As Long
    Dim lGreen As Long
    Dim lBlue As Long

    lRed = CLng("&H" & Left$(sHexVal, 2))
    lGreen = CLng("&H" & Mid$(sHexVal, 3, 2))
    lBlue = CLng("&H" & Right$(sHexVal, 2))

    HexToLongRGB = RGB(lRed, lGreen, lBlue)

End Function

Funguje výborně.
Naposledy upravil(a) d1amond dne 26 srp 2013 23:43, celkem upraveno 1 x.
Nikdy neříkej, že to nejde, protože se najde někdo, kdo o tom neví a udělá to!
Chcete si nechat sestavit nový počítač?

Reklama
guest
Pohlaví: Nespecifikováno

Re: VBA: Interior.Color zadané pomocí HEXA

Příspěvekod guest » 26 srp 2013 22:34

Z jakého systému do jakého, resp. do jaké vlastnosti? VB barva, HTML barva? Příklad...

d1amond
člen HW spec týmu
Elite Level 12
Elite Level 12
Příspěvky: 16119
Registrován: květen 08
Bydliště: České Budějovice
Pohlaví: Muž
Stav:
Offline

Re: VBA: Interior.Color zadané pomocí HEXA

Příspěvekod d1amond » 26 srp 2013 23:42

Do formuláře Excel zadávám HEXA kód barvy a potřebuji to používat dále. Konkrétně např. pro BACKCOLOR u labelu.
Nikdy neříkej, že to nejde, protože se najde někdo, kdo o tom neví a udělá to!
Chcete si nechat sestavit nový počítač?

guest
Pohlaví: Nespecifikováno

Re: VBA: Interior.Color zadané pomocí HEXA

Příspěvekod guest » 27 srp 2013 08:37

Hexa jako HTML kód barvy? Příklad... Do vlastnosti lze zapsat VB formát barvy, co že je také převrácený HEXa kód:

Syntaxe barvy (v hexadecimálním tvaru) ve VBA má následující podobu:

&HxxBbGgRr&

xx ... 80 pro předdefinovanou barvu, 00 pro barvu vlastní
BbGgRr ... odpovídá v HTML(CSS) zápisu barvě #RrGgBb, přičemž Rr, Gg, Bb jsou hexadecimální tvary barev v systému RGB (jak vidíte, v definici je obrácené pořadí)

Příklad
&H00F7EBDF&
trojice zleva H00 ... vlastní barva
a pak dvojice odzadu:
DF ... červená (R) barva, hexadecimální tvar čísla 223
EB ... zelená (G) barva, hexadecimální tvar čísla 235
F7 ... modrá (B) barva, hexadecimální tvar čísla 247
RGB(223, 235, 247) ... definice barvy v systému RGB
#DFEBF7 ... definice barvy v HTML (CSS)

jinak třeba
http://excelplus.net/news.php?readmore=140

d1amond
člen HW spec týmu
Elite Level 12
Elite Level 12
Příspěvky: 16119
Registrován: květen 08
Bydliště: České Budějovice
Pohlaví: Muž
Stav:
Offline

Re: VBA: Interior.Color zadané pomocí HEXA  Vyřešeno

Příspěvekod d1amond » 27 srp 2013 21:47

Zadávám právě ten HTML kód barvy (např. FF00FF) do pole formuláře a potřebuji, aby na základě něj vyplnil label.BackColor. Níže uvedená fce mi to plní bez výhrad.
Jinak díky za tip na tu konverzi, to se hodí určitě také, když budu potřebovat sbírat údaje z buňky na základě barvy.
Nikdy neříkej, že to nejde, protože se najde někdo, kdo o tom neví a udělá to!
Chcete si nechat sestavit nový počítač?


  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • Sledování pomocí hodinek
    od palecek » 29 srp 2024 09:47 » v Mobily, tablety a jiná přenosná zařízení
    3
    3845
    od GamerXXX Zobrazit poslední příspěvek
    02 zář 2024 12:25

Zpět na “Kancelářské balíky”

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 2 hosti