HERBERS
Excel-Forum
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Entdecke rund 2 Millionen Excel-Lösungen im
Forumsarchiv
Forumbeitrag
Excel-Version des Fragestellers:
bis 2003
Erfahrungslevel des Fragestellers:
VBA nur mit Recorder
Alwin Weisangler
24.04.2026 15:21:17
AW: Makro Einbau Abfrage Jahr aus F21
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
Als Antwort auf diesen Beitrag
Alwin Weisangler
24.04.2026 15:06:29
AW: Makro Einbau Abfrage Jahr aus F21
Hallo Chris,

teste mal:


Sub WertJ() ' Aufruf für Spalte J
Call MaxMarkieren(Datum:=Tabelle2.Range("A23:A" & Tabelle2.Cells(Rows.Count, 1).End(xlUp).Row), Werte:=Tabelle2.Range("J23:J" & Tabelle2.Cells(Rows.Count, 1).End(xlUp).Row), Jahr:=Tabelle2.Range("F21"))
End Sub

Sub WertL() ' Aufruf für Spalte L
Call MaxMarkieren(Datum:=Tabelle2.Range("A23:A" & Tabelle2.Cells(Rows.Count, 1).End(xlUp).Row), Werte:=Tabelle2.Range("L23:L" & Tabelle2.Cells(Rows.Count, 1).End(xlUp).Row), Jahr:=Tabelle2.Range("F21"))
End Sub

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
MsgBox "Jahr: " & Jahr & ": " & iMax
Else
MsgBox "kein Treffer", vbInformation
End If
End Sub
Folgenachrichten
Antwort auf Beitrag erstellen
Bitte einen Anwendernamen ohne @ eingeben.
Bitte das Passwort eingeben.
Bitte eine gültige E-Mail-Adresse eingeben.
Bitte einen Betreff eingeben.
Weitere Optionen
Aktivieren, wenn die Frage/der Beitrag noch nicht beantwortet wurde und unter Listen > Offene Threads erscheinen soll.
Beispieldatei hochladen

Bitte einen Nachrichtentext eingeben.