Makro macht beim Filtern Fehler

  • Excel

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von DoSchwob.

    Makro macht beim Filtern Fehler

    Hallo Leute!
    Ah, kriege die Krise. Ich habe wirklich Ahnung von VBA und zweifle grade entweder an meinem Verstand, oder an dem sch** PC.
    Der Code lautet:
    Sub Makro2()
    Range("C4").Select
    Do
    For i = 1 To 21
    If ActiveCell.Value > "5" Then
    ActiveCell.Font.ColorIndex = 3
    msg = MsgBox("Es liegt eine falsche Eingabe vor! Bitte korrigieren!", vbKorrektur)
    End If
    ActiveCell.Offset(1, 0).Activate
    Next

    ActiveCell.Offset(-21, 1).Activate
    Loop Until ActiveCell.Value = ""
    End Sub
    Diese Liste soll dabei gefiltert werden (ist ein Ausschnitt):
    9
    5
    21
    5
    1
    2
    54
    1
    5
    1
    4
    21
    5
    1
    5
    1
    54
    21
    4
    1
    25

    Mir ist grad völlig unbegreiflich, warum 21 und 25 nicht marktert werden!!????
    BTW: Kann ich Excel über Vista mehr Ressourcen zuweisen? Arbeite zuhause mit einem 2GHZ Rechner statt mit einem 4GHZ Rechner in der Arbeit, der ist ganz offensichtlich etwas überfordert mit Anwendungen, die in der Arbeit laufen.
    Wieso nutzt du nicht schlichtweg die Gültigkeitsregeln oder auch die bedingte Formatierung für dein Anliegen. Die Stelle, in der du die Farbe auch wieder entfernst, sobald ein Wert korrigiert wurde fehlt. Da du die Performance ansprichst: Tune deinen Code ein bisschen, z.B. mit with Klammern und eigenen zugeordneten Rangeobjecten set myRange etc... Sprich lass die Selektions weg. Du solltest außerdem die Schliefe ohne Msgbox durchlaufen und dir eine strMeldung Variable befüllen und am Ende der Schleife gleich alle Fehler ausgeben.