gelöst + ergebnis
10.05.2006 14:14:42
Darren
Hi Dr.,
jemand hat gerade geholfen!
Hier die Lösung, falls jemanf auch davon profitieren kann:
Option Explicit
Sub Makro4()
Dim c As Range, tmpRange As Range, i&
Dim bufunsortiert(), bufsortiert(), TMP, werte(5)
' Werte merken
i = 0
For Each c In Range(Columns.End(xlUp), Columns.End(xlDown))
'ReDim Preserve bufsortiert(i)
ReDim Preserve bufunsortiert(i)
'bufsortiert(i) = c.Value
bufunsortiert(i) = c.Value
i = i + 1
Next c
'FelderSortieren bufsortiert()
Range("A:A").Sort Key1:=Range("A1"), Order1:=xlDescending, Header:= _
xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
'Die höchsten 5 Zellen merken
For i = 2 To 6
werte(i - 2) = Cells(i, 1)
Next i
'Alte Werte zurückschreiben
i = 1
For Each TMP In bufunsortiert
Cells(i, 1).Value = TMP
i = i + 1
Next TMP
'Die höchsten 5 Zellen rot
For i = 2 To 6
With Columns(1).Find(werte(i - 2)).Interior
.ColorIndex = 3
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
End With
Next i
End Sub
Sub FelderSortieren(Va())
Dim i%, y%, TMP, buf
For i = 0 To UBound(Va)
For y = i + 0 To UBound(Va)
If Va(i) > Va(y) Then
TMP = Va(i): Va(i) = Va(y): Va(y) = TMP
End If
Next y
Next i
End Sub
Grüße
Darren