【エクセルマクロ】最大値の隣のセルを取得したい:簡単解説

エクセルマクロ_最大値の隣のセル取得_アイキャッチ ExcelVBA

エクセルマクロで、最大値の隣のセルを取得するVBAコードをご紹介します。

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

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

最大値の隣のセルを取得(Max関数・Match関数)

以下のマクロを実行すると、最大値の隣のセルの値を取得します。


Sub 一番大きい数値の隣のセル取得()
 
Dim MatchVal As Long
         
    '最大値を求める
    Cells(2, 5) = Application.WorksheetFunction. _
                   Max(Range(Cells(2, 2), Cells(11, 2)))
                   
    '最大値のとなりの値を変数へ格納
    MatchVal = Application.WorksheetFunction. _
                   Match(Range("E2"), Range("B1:B11"), 0)
                   
    '最大値のとなりの値を転記
    Cells(1, 5) = Cells(MatchVal, 1)
          
End Sub

 
Max関数で求めた最大値をもとに、
Match関数で最大値の隣のセルの値を抽出します。


 

最大値の隣のセルを取得(ForNext)

以下のマクロを実行すると、ForNextを使用して最大値の隣のセルの値を取得します。


Sub 最大値の横のセル取得()

Dim i As Long
Dim j As Long
Dim a As String
Dim b As Long

    '初期化
    b = 0

    '最大値を取得
    For i = 2 To 11
        If b < Cells(i, 2) Then
        
            'B列の最大値を格納
            b = Cells(i, 2)
            
            'A列の値を格納
            a = Cells(i, 1)
        End If
    Next i
    
    '最大値を出力
    Cells(2, 5) = b
    
    '最大値のとなりの値を取得
    Cells(1, 5) = a

End Sub

 
2行目~最終行までループして、B列の数値を比較します。

最大値を [セルE2] に出力し、最大値のとなりの値を [セルE1] に出力します。


 

この記事がお役に立ちますと幸いです。
 

【エクセルマクロ】指定値より大きいセルに色付け:使用例2選
...

 

「たった1秒で仕事が片づくExcel自動化の教科書【増強完全版】」
「5時間かかる作業が3時間でできます」ではなく「1秒で終わらせます」へ
毎日の業務を瞬時に終わらせるしくみを解説