表の中で特定の値を目立たせるために色を変更したいと思った事ありませんか?
Excel-VBAを使えば、一瞬で見つけ出して目立つように色を変更することができるFont.ColorIndexと条件分岐のIFステートメント、さらに繰り返し処理を行うFor~Nextを組み合わせた方法ご紹介します。
目次
条件により文字色を変更
Excel-VBAを使わずに表の中で条件に合ったセルの値の文字色を変更することもでき、ワークシート上で【ホーム】➡【条件付き書式】➡【新しいルール】で条件設定したい全てのセルに設定できますが、複数となるとめんどくさいし大変ですよね。
そこでExcel-VBAを使って、ユーザーフォームに配置したコマンドボタンにVBAコードを書きこんでおけば、ボタン1回押すだけでできるので効率的ですし簡単です。

ただ単に文字色を指定するならばColorIndexでしたいセル番号を書けばいいのですが、それだけならば、下記ページに詳細を書いてあるので、ここでは省略します。
色見本付き




重複したセルの値があったらラベルの色を変えるExcel-V
コピペOK!ユーザーフォームに配置しているラベル(Label)の色を初期設定の黒色ではなくて、目立つように赤色に変更したいと思ったことありませんか?ForeColorとRGBの…
IF~ThenとFor~Nextを組み合わせ
ここでやりたいことは、条件に一致したセルを繰り返し探してVBAで文字色を変える事なので、複数のセルをそれぞれ条件に合っていれば、赤色文字に変更、そうでない場合は黒色文字に変更するという事です。
コピペOK
Private Sub CommandButton1_Click()
For i = 1 To 10
If Cells(i, 5) = 3 Then
Cells(i, 5).Font.ColorIndex = 3
Else
Cells(i, 5).Font.ColorIndex = 1
End If
Next i
End Sub
解説
- コマンドボタン1がクリックされたら
- 繰り返し処理Forを使い変数は1~10を指定
- もし、セルi行目、5列目の値が3だったら
- セルi行目、5列目の文字色を赤色にする
- そうでなかったら
- セルi行目、5列目の文字色を黒色にする
- IFステートメント終了
- 変数iの範囲で繰り返す
- マクロ記述終了



たったこれだけのVBAコードで、指定した範囲内の値が合致すれば赤色文字にして、異なった時は黒色文字にできちゃいます。


よく見られているページ
-
エクセルの計算式の値を数字として読み取るVALUE関数
-
VBAの画面のちらつきがたった1行で解決して処理高速化する方法
-
COUNT関数を使って参加人数を自動的に数えるエクセル関数使用法
-
エクセルの時刻表示を0:00ではなく24:00にする方法
-
チェックボックスでチェック有と無しそれぞれの処理を変える方法
-
1クリックで上書き保存してエクセルファイルを閉じる方法
-
エクセル計算式が#VALUE!エラーになったセルを空欄にする方法
-
条件に一致したセルを繰り返し探してVBAで文字色を変える方法
-
コマンドボタンの色をクリックするたびに黒色と赤色を入れ替える方法
-
エクセルシートの保護したらマクロエラーになった時のVBA対処法


新着ページ