仕事で必要があって、色番号の数値を元にして16進数のhtmlページ用の色指定の文字列を作るエクセルマクロを作りました。
エクセルマクロ無料動画講座申し込みページの申し込みボタンの色合いを調整しようと思って、HTML5でスタイルシートをいじっていました。
出したい色の色番号は、手元の画像からこんな方法で調べてきました。
で、あとは、この数値を #FFC99; みたいな文字列に変換したかったわけです。
で、書いたのは以下のマクロ。
セルA1に赤の発色、セルA2に緑の発色、セルA3に青の発色の数値を0-255の範囲で入力してマクロを実行すると、セルE1に結果が表示されます。
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