仕事で必要があって、色番号の数値を元にして16進数のhtmlページ用の色指定の文字列を作るエクセルマクロを作りました。
エクセルマクロ無料動画講座申し込みページの申し込みボタンの色合いを調整しようと思って、HTML5でスタイルシートをいじっていました。
出したい色の色番号は、手元の画像からこんな方法で調べてきました。
で、あとは、この数値を #FFC99; みたいな文字列に変換したかったわけです。
で、書いたのは以下のマクロ。
セルA1に赤の発色、セルA2に緑の発色、セルA3に青の発色の数値を0-255の範囲で入力してマクロを実行すると、セルE1に結果が表示されます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | Sub RGB_WEB() Dim c As Long Dim r As Range For Each r In Range( "A1:A3" ) r.Offset(, 1).Value = r.Value \ 16 r.Offset(, 2).Value = r.Value Mod 16 Next For Each r In Range( "B1:C3" ) Select Case r.Value Case 10 r.Value = "A" Case 11 r.Value = "B" Case 12 r.Value = "C" Case 13 r.Value = "D" Case 14 r.Value = "E" Case 15 r.Value = "F" End Select Next Range( "E1" ).Value = "#" & Range( "B1" ).Value & Range( "C1" ).Value & Range( "B2" ).Value & Range( "C2" ).Value & Range( "B3" ).Value & Range( "C3" ).Value & ";" End Sub |
他の仕事に頭のリソースほとんどを費やしている中で、なるべく頭を使わないようにダラダラ書いた書き殴りです。
先生が書いてるからって、これがベストだとかは思わないでね。もっとエレガントなやり方はいくらでもあると思いますので。
エクセルマクロ無料動画講座申し込みページはこちら。
ps. 続きがあります。こちら: 色番号の数値を元にして16進数のhtmlページ用の色指定の文字列を作るエクセルマクロ その2