これ、どっかから拾ってきたのですが結構便利です。if文の中身を数字にすれば数字で色分けもmできる。
条件付き書式とかでもマクロで設定できるんだろうーか?
Sub 色分け() ' ' 色分け Macro ' ' Keyboard Shortcut: Ctrl+r ' ' 最大値〜最小値で色分けする ' Dim I As Integer, J As Integer Dim HiDt As Single, LoDt As Single Dim CV As Single HiDt = -3E+38 LoDt = 3E+38 For I = Selection.Column To Selection.Column + Selection.Columns.Count - 1 For J = Selection.Row To Selection.Row + Selection.Rows.Count - 1 If HiDt < Cells(J, I) Then HiDt = Cells(J, I) End If If LoDt > Cells(J, I) Then LoDt = Cells(J, I) End If Next J Next I For I = Selection.Column To Selection.Column + Selection.Columns.Count - 1 For J = Selection.Row To Selection.Row + Selection.Rows.Count - 1 Cells(J, I).Activate CV = ActiveCell.Value If CV < LoDt + (HiDt - LoDt) / 8 Then ActiveCell.Interior.Color = RGB(32, 128, 256) ElseIf CV < LoDt + (HiDt - LoDt) * 2 / 8 Then ActiveCell.Interior.Color = RGB(32, 224, 256) ElseIf CV < LoDt + (HiDt - LoDt) * 3 / 8 Then ActiveCell.Interior.Color = RGB(64, 224, 0) ElseIf CV < LoDt + (HiDt - LoDt) * 4 / 8 Then ActiveCell.Interior.Color = RGB(256, 256, 0) ElseIf CV < LoDt + (HiDt - LoDt) * 5 / 8 Then ActiveCell.Interior.Color = RGB(256, 192, 0) ElseIf CV < LoDt + (HiDt - LoDt) * 6 / 8 Then ActiveCell.Interior.Color = RGB(256, 128, 0) ElseIf CV < LoDt + (HiDt - LoDt) * 7 / 8 Then ActiveCell.Interior.Color = RGB(256, 64, 0) Else ActiveCell.Interior.Color = RGB(256, 0, 0) End If Next J Next I End Sub
追記:散布図にラベルつけるのも便利だ
エクセルの散布図にラベル(系列が2つ) -エクセルの散布図にラベルを- その他(Microsoft Office) | 教えて!goo