Als Antwort auf diesen Beitrag
da hatte ich das Anspringen der passenden Zeile vergessen.
Tausche diese Prozedur aus:
Sub MaxMarkieren(Datum As Range, Werte As Range, Jahr As Long)
Dim iMax#: iMax = Evaluate("MAX(IF(YEAR(" & Datum.Address & ")=" & Jahr & "," & Werte.Address & "))")
Dim iRow: iRow = Evaluate("MATCH(1,(YEAR(" & Datum.Address & ")=" & Jahr & ")*(" & Werte.Address & "=MAX(IF(YEAR(" & Datum.Address & ")=" & Jahr & "," & Werte.Address & "))),0)")
Werte.Interior.Color = xlNone
If Not IsError(iRow) Then
Werte.Cells(iRow).Interior.Color = vbGreen
Application.Goto Datum.Cells(iRow, 1), True
MsgBox "Der höchste Stand aus: " & Jahr & ": " & iMax & " in Zeile: " & iRow
Else
MsgBox "kein Treffer", vbInformation
End If
End Sub
Gruß Uwe