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

エクセルマクロ_最大値の隣のセル取得_アイキャッチ エクセルマクロで効率化する

エクセルマクロで、最大値の隣のセルを取得する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 Buf As Long

    Buf = 0

    '最大値を取得
    For i = 2 To 11
        If Buf < Cells(i, 2) Then
            Buf = Cells(i, 2)
        End If
    Next i
    Cells(2, 5) = Buf
                   
    '最大値のとなりの値を取得
    For i = 2 To 11
        If Cells(i, 2) = Cells(2, 5) Then
            Cells(1, 5) = Cells(i, 1)
        End If
    Next i

End Sub

 

マクロ実行後

B列をループして全ての数値を比較し、最大値を取得します。

その後もう一度B列をループし、最大値のとなりのセルを値を取得します。


 

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

【エクセルマクロ】指定の値より大きいセルに色をつける
...