- ベストアンサー
エクセル2013の特殊な条件で文字色を変える方法
- エクセル2013で特殊な条件を設定して、セルの文字色を変える方法について説明します。
- セルに2つの数字を入力する場合、条件に応じて文字色を赤や青に変えることができます。
- また、同じ数字を入力する場合でも前回の文字色に合わせて色を変えることも可能です。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
手抜き版ですがマクロで作ってみました。 こういう事で良いのでしょうか? 「11」「22」などぞろ目の時の色のルールが良く解らないので黒にしています。 エラー処理やフォント色を戻したりする箇所は実装していませんので必要に応じて組み込んでください。 Sub Sample() For nCol = 1 To 34 'A~AH nRow = 1 Do While Not IsEmpty(Cells(nRow, nCol).Value) With Cells(nRow, nCol) .NumberFormatLocal = "00" '念のため、書式を「00」に n1st = Int(.Value / 10) n2nd = .Value Mod 10 .Font.Color = vbBlack If (n1st > n2nd) Then '前の数字が大きい時は色だけ赤に変える .Font.Color = vbRed ElseIf (n1st < n2nd) Then '後の数字が大きい時は色を青に変えて順番も入れ替える .Font.Color = vbBlue .Value = n2nd * 10 + n1st End If End With nRow = nRow + 1 Loop If nRow < 14 Then End Next nCol End Sub
その他の回答 (1)
- mt2008
- ベストアンサー率52% (885/1701)
1つのセルに「1,0」の様に入力するのでしょうか。 A1セルに「1」、A2セルに「0」と1つづつ? このルール↓も良く解りません。15列目までが入力エリアなのでしょうか。 > ※ 一応の入力エリアですが 例えば A14の後に 1、1 など 同数字を入力する際には > 下のセル A15に入力となります。
補足
mt2008さん 回答がつかない中、回答していただき 大変ありがとうございます。 >1つのセルに「1,0」の様に入力するのでしょうか。 そうしたいです。1,0 ではなく 10と 入力したい >このルール↓も良く解りません。15列目までが入力エリアなのでしょうか。 A1:AH14 が 入力エリア です。ただし 14列に 同数字が きたら ↓に移動する ルールではなく 入力エリアのどこでも 同数字が ならんだ場合、↓に移動するルールです。どうぞ アドバイスあれば お願いします。
補足
mt2008さん 回答がつかない中 回答していただきありがとうございます。 入力後に マクロ実行で 表示がかわるようですね。 実は 前の数字が大きい時は色だけ赤に変えるで エクセル画像の参照画像で いうと 12 77 21 青 7/ 青 で 32 は 列がB列に 移動して 32 赤と 表示したい 次に 49 も 列移動で C列 94 青としたい 参照画像を エクセルで 入力 色を変えた画像を 後で アップします。 少々お待ちください。