Rückgabe von Minimalwert bei Kommazahlen und Rundungsformeln

26/03/2008 - 17:44 von Volker Hormuth | Report spam
Hallo und guten Abend !

Ich habe folgendes Problem, das ich bisher nicht lösen konnte. Die
nachfolgende VBA-Routine gibt mir zeilenweise über mehrere Spalten nur den
Minimalwert bei Ganzzahlen zurück, einbezogen sollen jedoch auch die Werte
mit Kommazahlen und Ergebnissen aufgrund von Rundungsformeln. Der jeweils
gefundene Minimalwert wird sodann in eine benachbarte Spalte eingetragen und
dient dort für weitere Berechnungen.

Sub FindeMinimalwert()

Dim iRow As Long
Dim FirstRow As Long
Dim LastRow As Long
Dim MinVal As Double
Dim FoundCell As Range
Dim WorkRange As Range
Dim wks As Worksheet

Set wks = Worksheets("Tabelle1")

With wks
FirstRow = 3
LastRow = .Cells(.Rows.Count, "D").End(xlUp).Row

For iRow = FirstRow To LastRow
Set WorkRange = .Cells(iRow, "D").Resize(1, 5)
MinVal = Application.Min(WorkRange)

With WorkRange
Set FoundCell = .Cells.Find(What:=MinVal, _
After:=.Cells(1), _
LookIn:=xlValues, _
LookAt:=xlWhole, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext, _
MatchCase:=False)
End With

If FoundCell Is Nothing Then
'.
Else
WorkRange.Resize(1, 1).Offset(0, 20).Value = FoundCell.Value
FoundCell.Interior.ColorIndex = 6
End If
Next iRow
End With
End Sub

Was muss ich àndern, damit ich mein gewünschtes Ergebnis erhalte?

Vielen Dank!
Volker
 

Lesen sie die antworten

#1 Peter Schleif
26/03/2008 - 18:16 | Warnen spam
Volker Hormuth schrieb am 26.03.2008 17:44:

einbezogen sollen jedoch auch die Werte
mit Kommazahlen und Ergebnissen aufgrund von Rundungsformeln.



Werden bei mir beide anstandlos gefunden. Vielleicht ein Problem mit
dem vorgegebenen Dezimal-Trenner?

BTW: Ich würde am Anfang der For-Schleife den Hintergrund der zu
untersuchenden Zellen zurücksetzen. Sonst hat man irgendwann alle
Zellen gelb.

WorkRange.Interior.ColorIndex = xlNone

Peter

Ähnliche fragen