こんにちは、とりっぷぼうるです。
元々エクセルとは全く縁のない生活をしていましたが、人員不足などで少しでもデータ入力作業や集計作業を効率化するしか方法が無く、仕方がなくエクセルに取り組み始まました。
なぜならば、大きな会社ならば専用ソフトやクラウド上でデータ集計や管理を行うのでしょうけど、小さなところではそのようなお金もないのでエクセルで解決するしか方法が無いのですよね。
このような理由からエクセルに取り組み始めましたので、当然ながらエクセルの専門知識もなく、学校に通うこともできずにただ単にエクセルの書籍とにらめっこしながら取り組んでいます。
でも書籍のままだと実用的でないことが多く、VBAコードを組み合わせてみたら動いた!という実用例・体験談を書いています。
ラベル色指定ForeColor=RGBとIfの組み合わせ
ユーザーフォームに配置しているラベル(Label)の色を初期設定の黒色ではなくて、目立つように「赤色」にしたいと思いませんか?
常時赤色にするならば、ラベルのプロパティ内「ForeColor」➡「パレット」で変更することができますが、条件に合えば「赤色」に変更してそうでなければ「黒色」のままってできないものか?

Excel-VBAで色の指定はよく見るけど条件付きって見つからない

Ifステートメントと組み合わせて!

もし○○だったら赤色、そうでなかったら色変更なしって事だね!
ここでは、「ボウリング成績表印刷設定方法~LTB個人リーグ編」で実際に使っているExcel-VBAコードを書いていきますが、詳細についてはここでは省略しますので使い方などについては下記も参考にして下さい。

まずは基本となるラベルの色をプロパティからではなくExcel-VBAコードで書くとこうなります。
これは、ユーザーフォーム7のラベル64の色を赤色にするというExcel-VBAコードです。
それでは次にラベルの色は初期設定の黒色ですが、条件を付けてセルの値によりラベルの色を赤色にしてみましょう。
ここでは、実際に使っているボウリングリーグ戦の成績表で1位と2位が同点の場合に、メッセージを出して知らせて赤色に変更していますが、この部分だけ切り取っていますのでマクロ開始と終了の表記は省略しています。
MsgBox “男性HGが同点です”
UserForm7.Label64.ForeColor = RGB(255, 0, 0)
UserForm7.Label65.ForeColor = RGB(255, 0, 0)
End If
- もしセルAE3の値とセルAE4の値が一緒だったら
- メッセージで「男性HGが同点です」と表示する
- ユーザーフォーム7のラベル64の色をRGBで指定した「赤色」にする
- ユーザーフォーム7のラベル65の色をRGBで指定した「赤色」にする
- Ifステートメント終了
となっています。
これで、1位と2位のラベル表示が同点である事を目立つように同スコアー(ラベル)を赤色しています。
ColorIndex色見本
エクセルで設定できる色はRGBを使えば、ほぼ無限にできますが、基本的な色だけならばColorIndexの番号指定で簡単にできます。
ぜひ参考にしてくださいね。
Excel-VBA関連記事

各コントロールまとめて転記シリーズ
ユーザーフォームを使うと配置したコントロール(テキストボックスやラベルなど)とセルとの間で値のやり取りが多くなります。
よく使うのでまとめてみました。
値の場所 | 転記したい場所 | 説明ページ |
セルの値 | ラベル名 | VBAコード |
セルの値 | テキストボックスの値 | VBAコード |
セルの値 | コマンドボタンの表示名 | VBAコード |
セルの値 | セルの値 | VBAコード |
テキストボックス入力値 | セルの値 | VBAコード |

成績表作成には知っておきたいExcel-VBAもくじ




エクセルの勉強お疲れ様です。ちょっとひと休みしませんか?
コメント