[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『色付け』(猫)
お世話になります。
下記の様にA列に総合順位、B列に名前。C列に英語の点数が有り
C列英語の点数で降順ソートをして総合順位より上か下かを見たいので
C列降順ソートを行い上に行けば点数のセル背景を青、下に行けば赤に
したいのですがどの様にしたら良いのか分からずに悩んでいます。
何方かご教授お願いいたします。
A列 B列 C列 総合順位 氏名 英語
1 A 100 2 B 98 赤 3 C 99 青 4 D 97 5 E 95 赤 6 F 94 赤 7 G 93 赤 8 H 92 赤 9 I 96 青 10 J 90 赤 11 K 91 青
C列降順ソートセルの色付け後、A列を昇順ソートして元に戻します。
表は約6000行で行データは最小5最大29で30行ごと区切っています。
< 使用 Excel:Excel2007、使用 OS:Windows7 >
Dim c As Range Range("C:C").Interior.Pattern = xlNone For Each c In Range("C:C").SpecialCells(2) If WorksheetFunction.Rank(c.Value, Range("C:C")) > c.Offset(, -2).Value Then c.Interior.Color = vbRed ElseIf WorksheetFunction.Rank(c.Value, Range("C:C")) < c.Offset(, -2).Value Then c.Interior.Color = vbBlue End If Next c End Sub (mm) 2019/01/04(金) 13:48
繰り返し処理は同僚に聞くので良いのですが正直なところ色の付け方が分かりませんでした。
?o様のコードを見るとWorksheetFunction.Rankで順位が判断できるのを知りとても勉強になりました。
mm様
コードはとてもシンプルで分かりやすくて助かりました。
ありがとうございました。
(猫) 2019/01/04(金) 14:54
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.