Zahlenwerte im Format Text speichern

Im Beitrag “Zahlenwerte richtig erkennen” habe ich Ihnen Lösungswege gezeigt, wenn Sie mit Zahlen nicht rechnen konnten, weil sie nicht als Zahl formatiert waren.

Im heutigen Beitrag wollen wir genau das Gegenteil erreichen. Zahlen sollen als Text gespeichert werden. Sie werden sich vielleicht fragen, was dadurch erreicht werden soll. Ganz einfach, Excel erkennt keine vorangestellten Nullen. Wollen Sie z.B. eine Liste mit Kundennummern, Mitgliedsdaten oder ähnlichem führen, die mit einer oder mehrerer Nullen beginnen und mit denen keine Rechenoperationen durchgeführt geführt werden sollen, so bietet sich an, die Zahlen als Text zu formatieren. Sie können alternativ auch die Formatierung “Sonderformat” verwenden und z.B. die Anzahl der Stellen dort festlegen. Wenn Sie so festlegen, dass immer eine neunstellige Nummer angezeigt werden soll, werden bei kürzeren Zahlen die fehlenden Stellen vorne mit einer Null angezeigt. Allerdings ist das die reine Ansicht in der Tabelle. Im Eingabefeld wird die Zahl ohne die vorangestellten Nullen angezeigt. Dadurch werden Sie Probleme haben, wenn Sie unterschiedlich formatierte Listen z.B. über einen Sverweis miteinander abgleichen wollen.

Um nun also zu erreichen, dass die Zahlen als Text formatiert werden, können Sie vor der Eingabe der Zahlen den Zellbereich als Textfelder formatieren. Geben Sie nun Werte in die Felder ein, werden die Zeichen immer als Text formatiert. Bei Ziffern werden dann auch vorangestellte Nullen nicht nur optisch, sondern tatsächlich in der Zelle gespeichert.

Ein weiterer großer Vorteil von als Text gespeicherten Zahlen ist, dass Sie über einen Filter in der Überschrift problemlos benutzerdefiniert suchen können. So ist es zum Beispiel möglich über “entspricht” oder “beginnt mit” in der Liste zu suchen. Einen Postleitzahlenbereich können Sie bei “entspricht” suchen indem Sie den feststehenden beginnenden Zahlenbereich mit ein dem Stern als Platzhalter am Ende ergänzen. So werden Ihnen über die Eingabe von 80* z.B. alle Postleitzahlen angezeigt die mit den Ziffern 80 beginnen. Die weiteren drei Stellen sind variabel.

Einen größeren Bereich als Text formatieren können Sie einfach mit dem unten stehenden Makro erreichen. Dazu markieren Sie den Zellbereich, den Sie formatieren wollen und starten das Makro. Das Makro fügen Sie zuvor im VBA Editor in ein Modul ein.

Sub ZahlenwerteAlsTextFormatieren()

Dim Zelle As Range
Dim Speicher As String

Selection.NumberFormat = "@"

For Each Zelle In Selection
Speicher = Zelle.Value
Zelle.Value = Speicher
Next Zelle

End Sub
 
Gefällt Ihnen der Beitrag?

Schreibe einen Kommentar