0511デフォルトの名無しさん
2020/06/04(木) 12:04:02.17ID:0kTawYgEZ列の"暫定"最大値を保持する変数を使います。
Dim r As Long, i As Long
Dim a As String, b As String, c As String
Dim Z_v As Long '追加部分
Dim lsr As Long '定義漏れですよ
lsr = 処理範囲の最終行をセット
Z_v = 0 ' Z列の最大値が負になりそうなら-9999999999などとしておく
For r = 5 to lsr
If Cells(r, 3).Value = a And _
Cells(r, 4).Value = b And _
Cells(r, 5).Value Then
If Cells(r, "Z").Value > Z_v Then ' 暫定最大値を超えたら
Z_v = Cells(r, "Z").Value ' 暫定最大値を更新
i = r ' 行位置も更新
End If
End If
Next
最大値となる行が複数あった場合は、最初の行位置が i の値となります。