VBAでRGBと16進数カラーコード変換ツール



The following two tabs change content below.
アバター

taka

あることがキッカケでVBAを独学で勉強しました、今ではブログを通してVBAでできることを解説しつつ、VBAや他の言語の勉強、ブログ運営の勉強をしています(^^♪

VBAでRGBと16進数カラーコード変換ツール

今回は色の表現法である「RGB」と6桁の16進数で表される「カラーコード」を変換するフォームをExcelVBAで作成しました!
 RGBの数値からカラーコードの変換はツールがないとすぐにわからないので作ろうと思ったのですが、せっかく作るのならVBAのユーザーフォームで作ろうと思いました(笑)

変換ツールで出来る事

この変換ツールでできる事は【RGB→16進数カラーコードへの変換】になります。

そしてどのような色になるかを真ん中のリストボックスの背景を変化させて確認が可能です。

注意

16進数→からRGBの変換には対応しておりません。

変換ツールのコード

変換ツールのすべてのコードを記載します。

仕事の休憩時間に作ったので、はっきり言ってきれいなコードではありません。実際動かしてみてどのように動いているのか見ていただけると構成はすぐわかると思います。

10進数→16進数の返還には【Hex関数】を使用しています。Hex関数については今後解説します。

Private Sub ScrollBar1_Change()

TextBox4.Value = ""
ListBox1.BackColor = RGB(ScrollBar1.Value, ScrollBar2.Value, ScrollBar3.Value)
TextBox1.Value = ScrollBar1.Value

TextBox4.Value = "#" & Format(Hex(ScrollBar1.Value), "00") & Format(Hex(ScrollBar2.Value), "00") & Format(Hex(ScrollBar3.Value), "00")
TextBox5.Value = "RGB(" & ScrollBar1.Value & "," & ScrollBar2.Value & "," & ScrollBar3.Value & ")"

End Sub
Private Sub ScrollBar2_Change()

TextBox4.Value = ""
ListBox1.BackColor = RGB(ScrollBar1.Value, ScrollBar2.Value, ScrollBar3.Value)
  TextBox2.Value = ScrollBar2.Value

TextBox4.Value = "#" & Format(Hex(ScrollBar1.Value), "00") & Format(Hex(ScrollBar2.Value), "00") & Format(Hex(ScrollBar3.Value), "00")
TextBox5.Value = "RGB(" & ScrollBar1.Value & "," & ScrollBar2.Value & "," & ScrollBar3.Value & ")"

End Sub
Private Sub ScrollBar3_Change()

TextBox4.Value = ""
ListBox1.BackColor = RGB(ScrollBar1.Value, ScrollBar2.Value, ScrollBar3.Value)
TextBox3.Value = ScrollBar3.Value


TextBox4.Value = "#" & Format(Hex(ScrollBar1.Value), "00") & Format(Hex(ScrollBar2.Value), "00") & Format(Hex(ScrollBar3.Value), "00")
TextBox5.Value = "RGB(" & ScrollBar1.Value & "," & ScrollBar2.Value & "," & ScrollBar3.Value & ")"
End Sub
Private Sub TextBox1_Change()

If TextBox1.Value > 255 Then
TextBox1.Value = 0
Exit Sub
End If
ScrollBar1.Value = TextBox1.Value

End Sub
Private Sub TextBox2_Change()

If TextBox2.Value > 255 Then
TextBox2.Value = 0
Exit Sub
End If
ScrollBar2.Value = TextBox2.Value

End Sub

Private Sub TextBox3_Change()

If TextBox3.Value > 255 Then
TextBox3.Value = 0
Exit Sub
End If

ScrollBar3.Value = TextBox3.Value

End Sub

ダウンロード

フォロー・チャンネル登録お願いします

VBA以外についてのブログはこちら↓

https://yb-log.com/

■Twitterフォロー

■YouTubeチャンネル登録

ファイルやコードの利用、WEBサイトの利用について

サンプルコードなどは当サイトの免責事項をよくお読みになってからお使いください。

Sponsored Link

 

WordPressでブログを始めるなら

WordPress簡単インストール&安心の安定性

レンタルサーバー Xserver

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です