The following two tabs change content below.




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



最新記事 by taka (全て見る)
- 『雑記』最近の私の話~ - 2019年9月26日
- 【動画】自作パソコン構成変更!ケースをNZXT H500に交換しました! - 2019年6月5日
- VBA 『Array関数』指定した要素で配列を作成する - 2019年5月23日
- 「動画」初完全ワイヤレスイヤホン『Jabra Elite Active 65t』 - 2019年5月17日
- VBA 日付で令和を簡単に判定してみよう - 2019年5月7日
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フォロー
Follow @taka_pc1027■YouTubeチャンネル登録
コメントを残す