Excel Spaltenbuchstaben ermitteln

In VBA wird im Allgemeinen nicht der Spaltenbuchstabe, sondern die Spaltennummer verwendet. Spalte A entspricht der Spaltennummer 1, Spalte B der Spaltennummer 2, Spalte C der Spaltennummer 3 usw.

Möchten Sie nun aus einer Spaltennummer wieder den Spaltenbuchstabe ermitteln gibt es hierfür verschiedene Ansätze, die je nach Verwendungszweck mehr oder weniger geeignet sind.

Fehlerhafter VBA Code auf der Microsoft Support Seite

Im Internet gibt es allerdings auch Lösungsansätze, die nicht ungeprüft verwendet werden sollten. So stellt z.B. selbst Microsoft auf einer Support Seite einen fehlerhaften Algorithmus für die Ermittlung des Spaltenbuchstaben vor.

Zunächst einmal ist dieser generell nur auf zwei Stellen ausgelegt. Seit der Excel 2007 sind inzwischen jedoch 16.384 Spalten bis zum Spaltenbuchstabe XFD vorhanden. Um alle Spaltenbuchstaben ermitteln zu können muss also in jedem Fall ein Algorithmus genutzt werden, der dreistellig die Spaltennummer in den jeweiligen Spaltenbuchstabe(n) umwandeln kann. Davor gab es einen Spaltenbereich der nur 256 Spalten bis Spalte IV unterstützte.

Aber auch in diesem Fall hätte der Algorithmus auf der Microsoft Seite Fehler produziert. Der erste Fehler tritt nämlich bereits bei Spalte 53 (BA) auf. Hier wirft der Microsoft Alogrithmus A[ aus. Mit jedem Durchlauf von A bis Z verschiebt sich fortan der Fehler um eine weitere Spalte (CA, CB / DA, DB, DC / EA, EB, EC, ED / …). Ab Spalte 4508 (FQJ) erzeugt das Makro dann sogar die erste Fehlermeldung.

Excel VBA Spaltenbuchstabe aus Zahl ermitteln

Nachfolgend nun zwei Lösungsvorschläge, die für alle 16.384 Spalten aus der Spaltennummer den Excel Spaltenbuchstaben ermitteln.

weiterlesen

 

Straße und Hausnummer mit Excel trennen – Teil 2 (Variante mit Makro)

Im ersten Teil habe ich Ihnen für das Problem bereits eine Lösung mit einfachen Excel Formelfunktionen vorgestellt. Diese Variante ist für gewisse Adressen vollkommen ausreichend und die Formeln sind auch jederzeit anpassbar und können für den jeweiligen Einsatz weiter optimiert werden. Nutzen Sie die Variante ohne Makros insbesondere dann, wenn Sie keine Makros aktivieren möchten, oder dürfen.

Einen anderen Lösungsansatz stelle ich Ihnen heute mit der makrobasierten Version vor.

weiterlesen

 

Straße und Hausnummer mit Excel trennen Teil 1 (Variante ohne Makro)

Ein häufiges Problem ist die Übernahme von Daten, die nicht in der gewünschten Datenqualität vorliegen. Im folgenden Beitrag stelle ich eine Möglichkeit vor, wie Sie die in einer Spalte vorliegende Anschrift bestehend aus Straße und Hausnummer mit Excel trennen können und in zwei Spalten übernehmen. Die Lösung dieser Problematik ist sogar ganz ohne den Einsatz eines VBA Makros mit den Standard-Funktionen in Excel möglich.

Vorbereitung und Datenqualität
Ich gehe für den nachfolgenden Lösungsweg davon aus, dass die Anschriften bestehend aus Straßenname und Hausnummer untereinander in Spalte A stehen. Die Spalten B bis F werden im folgenden für Hilfsspalten und die Ergebnisse benötigt, sollten daher vollständig leer sein. Am Ende des Beitrags steht eine Beispieldatei mit den Formeln zum Download als Muster bereit.

Straße Hausnummer trennen mit Excel

Insgesamt benötigen Sie 5 Formeln um ans Ziel zu kommen. Eine Besonderheit gibt es am Ende noch für Sonderformen der Hausnummer zu berücksichtigen. Darauf komme ich am Ende des Beitrags nochmal zurück. Ich gehe für die folgenden Schritte zunächst von der idealen Datenlage (z.B. “Hartenthaler Str. 22” oder “An der Promenade 6”) aus. Es können mehrere Leerzeichen im Straßenname vorhanden sein und es besteht zudem immer ein Leerzeichen zur Abgrenzung der Hausnummer.

weiterlesen

 

Mit unterschiedlichen Varianten die letzte benutzte Zeile oder Spalte ermitteln

Mit den heute vorgestellten Makro-Lösungen können Sie mit unterschiedliche Methoden die letzte genutzte Zeile oder letzte genutzte Spalte in der Exceltabelle ermitteln und in einer Variablen speichern. Diese Funktionen sind besonders dann äußerst wertvoll, wenn Sie bestimmte Vorgänge automatisieren wollen, der Tabellenumfang aber variieren kann.

Nachfolgend erkläre ich anhand von fünf Makros die unterschiedlichen Varianten. Die Varianten 1_1 und 1_2 nutzen dabei die Funktion UsedRange (genutzter Bereich). Die Alternativen Makros der Varianten 2_1 bis 2_3 dagegen prüfen nicht den genutzten Bereich, sondern jeweils nur eine ausgewählte Zeile oder Spalte.

Beide Lösungsansätze haben Vor- und Nachteile. Die geeignete Variante ist deshalb zwingend in jedem Einzelfall
anhand der vorliegenden Voraussetzungen im Tabellenblatt auszuwählen.

weiterlesen