【エクセルマクロ】 数値の大きい方に色付け:自動化の方法を解説するよ

エクセルマクロ:数値を比較し大きい方に色をつけるアイキャッチ エクセルマクロで効率化する

エクセルマクロで、数値の大きい方に色をつけるVBAコードをご紹介します。

WorksheetFunctionのMax関数を使用します。

このページのマクロコードは、コピペで使えます。
せひ、お試しください。

数値の大きい方に色付け

以下のマクロを実行すると、数字を比較して大きい方に色をつけます。

Sub 数値の大きい方に色をつける()

Dim MaxVal As Long
Dim i As Long
Dim j As Long

    '2行目から11行目までループ
    For i = 2 To 11
            
        '最大値を求める
        MaxVal = Application.WorksheetFunction. _
                       Max(Range(Cells(i, 2), Cells(i, 3)))
        
        '最大値に色をつける
        For j = 2 To 3
            If Cells(i, j) = MaxVal Then
                Cells(i, j).Interior.Color = 65535
            End If
        Next j
    
    Next i

End Sub

 

マクロ実行後

B列とC列を比較して、隣のセルより大きい方に色をつけます。


 
 

数値の大きい方に色付け(配列使用)

以下のマクロを実行すると、配列に格納した数字を比較して大きい方に色をつけます。

Sub 数字を比較して大きい方に色づけ()
 
Dim i As Long
Dim MyList As Variant
Dim MaxVal As Long
     
 'データを配列へ格納
 MyList = Range("B1", Range("B" & Rows.Count).End(xlUp)).Resize(, 2).Value
     
 '配列をループ
 For i = 2 To UBound(MyList)

     '最大値を求める
     MaxVal = Application.WorksheetFunction. _
              Max(MyList(i, 1), MyList(i, 2))
                       
     'セルに色付け
     If Cells(i, 2) = MaxVal Then
         Cells(i, 2).Interior.Color = 65535
     Else
         Cells(i, 3).Interior.Color = 65535
     End If
                   
 Next i
      
End Sub

 

ウォッチウィンドウを見ると、B列とC列の値が格納されていることがわかります。

Max関数を使って、配列の値を比較しどちらが大きい数値か判定しています。


 

ご覧いただき、ありがとうございます!
 

【エクセルマクロ】最大値の隣のセルを取得したい:自動化の方法を解説するよ
...