WorksheetFunction.Match() liefert inkorrekte Werte

tklustig

Erfahrenes Mitglied
Hallo Leute,
eigentlich soll folgendes VBA Script das zu einem gefundenen minimalen bzw. maximalen Zellenwert vorhandene Pendant ausgeben. Macht es aber nicht.
Die Werte stimmen nicht, teilweise(abhängig von den Werten) bekomme ich auch die Exception"die Matcheigenschaft kannn icht zugeordnet werden". Wo liegt der Fehler, wie geht's richtig?
Visual Basic:
Sub Schaltfläche1_Klicken()
Dim max, min As Double
Dim jahrMax, jahrMin As Integer
MsgBox "Gefunden wurden die Extrema der Jahre " & Sheets("Tabelle1").Cells(3, 2).Value & " bis " & Sheets("Tabelle1").Cells(23, 2) & " für Gold." & vbCrLf & "Die entsprechenden Zellen werden grün(Max.) und rot(Min.) unterwandert."
'In Spalte B stehen die Jahreszahlen, in C die Daten
min = WorksheetFunction.min(ActiveSheet.Range("C3:C21")) 'kleinster Wert von C3 bis C21
max = WorksheetFunction.max(ActiveSheet.Range("C3:C21")) 'größter Wert von C3 bis C21
jahrMin = WorksheetFunction.Index(ActiveSheet.Range("B3:B21"), WorksheetFunction.Match(min, ActiveSheet.Range("C3:C21")))
jahrMax = WorksheetFunction.Index(ActiveSheet.Range("B3:B21"), WorksheetFunction.Match(max, ActiveSheet.Range("C3:C21")))
'In Spalte B stehen die Jahreszahlen,in C die Values
Cells(51, 5) = max & " (im Jahr " & jahrMax & ")"
Cells(52, 5) = min & " (im Jahr " & jahrMin & ")"
Cells(51, 5).Interior.ColorIndex = 4 'grün
Cells(52, 5).Interior.ColorIndex = 3 'rot
End Sub
 
Yuup. Hatten wir. Wurde aber durch den eingereichten Lösungsvorschlag nicht zufriedenstellend behoben.
Der Code basiert auf dem damaligen Post, sicher, das Problem bleibt allerdings bestehen...
nicht gelöstes Thema
 
Zurück