条件に一致したセルを繰り返し探してVBAで文字色を変える方法

エクセル検索
HOMEUserForm印刷画面ファイル図形
日付・時刻データセル関数VBA関数

表の中で特定の値を目立たせるために色を変更したいと思った事ありませんか?

Excel-VBAを使えば、一瞬で見つけ出して目立つように色を変更することができるFont.ColorIndexと条件分岐のIFステートメント、さらに繰り返し処理を行うFor~Nextを組み合わせた方法ご紹介します。

条件により文字色を変更

Excel-VBAを使わずに表の中で条件に合ったセルの値の文字色を変更することもでき、ワークシート上で【ホーム】➡【条件付き書式】➡【新しいルール】で条件設定したい全てのセルに設定できますが、複数となるとめんどくさいし大変ですよね。

そこでExcel-VBAを使って、ユーザーフォームに配置したコマンドボタンにVBAコードを書きこんでおけば、ボタン1回押すだけでできるので効率的ですし簡単です。

波乗りアヒル

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

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. コマンドボタン1がクリックされたら
  2. 繰り返し処理Forを使い変数は1~10を指定
  3. もし、セルi行目、5列目の値が3だったら
  4. セルi行目、5列目の文字色を赤色にする
  5. そうでなかったら
  6. セルi行目、5列目の文字色を黒色にする
  7. IFステートメント終了
  8. 変数iの範囲で繰り返す
  9. マクロ記述終了
波乗りアヒル

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

関連記事

どこかにビューーン
ちょっとの工夫で往復無料の時代が来た!!

新着ページ

よく見られているページ

大容量無料ファイル転送サービス【ACデータ】 無料イラスト【イラストAC】

紅葉スポット