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?
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
- Dim c As Range
- For Each c In Range("A1:A999")
- c.Formula = Replace(c.Formula, "Köln", "K")
- c.Formula = Replace(c.Formula, "Mettmann", "ME")
- c.Formula = Replace(c.Formula, "Düsseldorf", "D")
- c.Formula = Replace(c.Formula, "Solingen", "SG")
- c.Formula = Replace(c.Formula, "Wuppertal", "W")
- c.Formula = Replace(c.Formula, "Ennepetal", "EN")
- c.Formula = Replace(c.Formula, "Leverkusen", "LEV")
- c.Formula = Replace(c.Formula, "Bergisch Gladbach", "GL")
- c.Formula = Replace(c.Formula, "Remscheid", "RS")
- Next