Wie nichtleere Zellen auswählen?

  • Excel

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

    Wie nichtleere Zellen auswählen?

    Hallo zusammen,

    irgendwie verzweifel ich. Kurz zu meinem Vorhaben:

    Ich habe eine Tabelle mit mehreren Zeileneinträgen, von denen ich bestimmte Spalten ersetzen möchte. Genaugenommen geht es mir darum, einen Wert einzugeben, der dann per VBA-Script in einen anderen geändert wird.

    Nehmen wir das Beispiel der KFZ-Kennzeichen. Wenn ich also Köln eingebe, soll er K, bei Düsseldorf jedoch D daraus machen. Das an sich funktioniert auch, aber da die Anzahl der Zeilen immer variiert, hab ich mir recht unsauber mit einer Range von 1-999 beholfen, was performance-mäßig so gut wie keinen Sinn macht.

    Wie lässt mein Code sich also umschreiben, um statt der Range nur die nichtleeren Zellen durchzugehen?

    Quellcode

    1. Dim c As Range
    2. For Each c In Range("A1:A999")
    3. c.Formula = Replace(c.Formula, "Köln", "K")
    4. c.Formula = Replace(c.Formula, "Mettmann", "ME")
    5. c.Formula = Replace(c.Formula, "Düsseldorf", "D")
    6. c.Formula = Replace(c.Formula, "Solingen", "SG")
    7. c.Formula = Replace(c.Formula, "Wuppertal", "W")
    8. c.Formula = Replace(c.Formula, "Ennepetal", "EN")
    9. c.Formula = Replace(c.Formula, "Leverkusen", "LEV")
    10. c.Formula = Replace(c.Formula, "Bergisch Gladbach", "GL")
    11. c.Formula = Replace(c.Formula, "Remscheid", "RS")
    12. Next

    cornstar schrieb:

    Wie lässt mein Code sich also umschreiben, um statt der Range nur die nichtleeren Zellen durchzugehen?

    Quellcode

    1. For Each c In Range("A1:A999")

    Visual Basic-Quellcode

    1. For Each c In Range("A1",Cells(Rows.Count,1).End(xlUp))
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --