Markierung der Zellen beibehalten

  • Excel

Es gibt 1 Antwort in diesem Thema. Der letzte Beitrag () ist von Agent.

    Markierung der Zellen beibehalten

    Hallo zusammen,

    ich bin neu hier und VBA Anfänger. Da stellt sich mir natürlich direkt das erste Problem. Als erstes mal mein Quelltext:

    Sub Schleife()

    Dim i, e As Integer
    e = 8

    For i = 7 To 20
    Cells(i, 8 ).Select
    If ActiveCell.Value < Cells(e, 8 ) Then
    Range(Cells(i, 3), Cells(i, 3)).Select
    Range(Cells(i, 5), Cells(i, 5)).Select
    Range(Cells(i, 7), Cells(i, 7)).Select
    Range(Cells(i, 9), Cells(i, 9)).Select
    e = e + 1

    End If
    Next i
    End Sub

    Ich durchsuche mit einer Schleife immer die gleiche Spalte, beginnend bei Zeile 7. Zeilenanzahl ist variabel, muß nicht 20 sein. Hier sollen immer zwei Werte verglichen werden und bei einhalten des Kriteriums "erste Zelle < zweite Zelle", die Bereiche "Range(..." markieren. Beim zweiten Durchlauf das selbe, jedoch wird die vorherige Markierung nicht beibehalten. Und genau dieser Befehl fehlt mir. Denn solange das Kriterium eingehalten wird, soll weiter verglichen und markiert werden. Dies dient zur späteren Verarbeitung innerhalb eines Diagrammes.

    Vorab schonmal vielen Dank,

    MfG, sapphire
    Wenn die Markierung beibehalten werden soll, darfst du auch keine "Select" Methode der Range ausführen. Ersetze:

    Visual Basic-Quellcode

    1. Cells(i, 8 ).Select
    2. If ActiveCell.Value < Cells(e, 8 ) Then

    durch:

    Visual Basic-Quellcode

    1. If Cells(i, 8 ) < Cells(e, 8 ) Then
    Gruß, Agent Smith 8-)

    activeFlags = (lazy OR weary)

    Lemgo-Verschwörung | Mathematics | VB-Paradise in blau