Studium Informatik: VBA mit Excel

Steak

VfB-Fan
ID: 51362
L
25 April 2006
606
36
Hey, komme im Moment einfach nicht weiter.
Es geht darum aus einer Spalte mit X Werten, den Hintergrund der Zelle mit dem größten Wert mit einer Farbe zu färben.

Meine Variable maxindex bleibt allerdings bei 1 hängen und maxwert wird zu 0 ? (Habe ich zum testen in eine Zelle ausgeben lassen.) Die Schleife wird irgendwie nicht richtig ausgeführt und die erste Zelle nur markiert.

Hier der Quelltext
maxwert = Cells(1, 1).Value
maxindex = 1
zeile = 2
Do While Cells(zeile, 1).Value <> ""
If Cells(zeile, 1).Value > maxwert Then
maxwert = Cells(zeile, 1).Value And maxindex = zeile
End If
zeile = zeile + 1
Loop
Cells(maxindex, 1).Interior.Color = RGB(255, 0, 0)
 
Meine VBA-Erfahrung ist schon ein wenig her, aber sollte man dem "Cells(...)" nicht ein Arbeitsblatt voranstellen?
Ich hab' das jetzt mal mit dem aktiven Arbeitsblatt gemacht und das Setzen von "maxwert" und "maxindex" auf zwei Zeilen aufgeteilt.
Funktioniert soweit.... ;)

Code:
Code:
maxwert = ActiveSheet.Cells(1, 1).Value
maxindex = 1
zeile = 2
Do While ActiveSheet.Cells(zeile, 1).Value <> ""
    If ActiveSheet.Cells(zeile, 1).Value > maxwert Then
        maxwert = ActiveSheet.Cells(zeile, 1).Value
        maxindex = zeile
    End If
    zeile = zeile + 1
Loop
ActiveSheet.Cells(maxindex, 1).Interior.Color = RGB(255, 0, 0)
 
Hey, vielen Dank für die Antwort, das mit dem ActiveSheet ist nicht notwendig, aber ich hab dank deines Quelltextes erkannt, dass ich nach dem "then" ein "and" zwischen den beiden operationen, die ausgeführt werden sollen, stehen habe, was da so nicht hingehört, nun funktioniert es auch :)