仕事で必要があって、色番号の数値を元にして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