WorksheetFunction.Match() liefert inkorrekte Werte


tklustig

Erfahrenes Mitglied
#1
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
 

Neue Beiträge