650 Aufrufe
in Tabellenkalkulation von Mitglied (481 Punkte)
Hallo Zusammen,

kann man formatierte Excel Daten (z.B. formatierte vorangestellte Nullen) als Text (d.h. nicht mehr durch Formatierungen änderbar) übernehmen?

Bsp.: In der Tabelle sind diese Daten als Zahl 123 gespeichert aber unterschiedlich formatiert.
Ich möchte gern die vorangestellten Nullen behalten - und zwar als Text.

00123
000123

Vlt. kann mir jemand weiterhelfen?

Danke vorab
Matthias

5 Antworten

0 Punkte
von
Hallo,

das geht nur mit Makro,

markiere die betreffenden Zellen.

füge im VBA-Editor (Alt+F11) in ein beliebiges Modul den folgenden Code ein und führe ihn aus (z.B. mit F5).

Sub FormatText()
For Each c In Selection.Cells
txt = Format(c.Value, c.NumberFormat)
c.NumberFormat = "@"
c.Value = txt
Next c
End Sub


Gruß Mr. K.
0 Punkte
von flupo Profi (17.9k Punkte)
Hi,
du kannst die Zellen mit der Funktion =TEXT() formatieren

Bsp.: in A1 steht 123
Gesucht ist 00123
Mit der Formel =TEXT(A1;"00000") wird die Zahl mit führenden Nullen
angezeigt.
Wenn du diese Zelle jetzt kopierst und im Zielbereich nur den Wert
einfügst, bekommst du die fünfstellige Zahl als Text.

Gruß Flupo
0 Punkte
von Mitglied (481 Punkte)
Hallo xlKing,

danke für das Makro - allerdings kommt die Fehlermeldung Überlauf.

Außerdem möchte ich auf eine bestimmte Zeile in einer bestimmten Tabelle begrenzen - geht das?

@Flupo
Die Tabelle ist ziemlich groß und es geht um diverse Einträge - mal gibt es 11 mal 12 Zeichen...
Makro ist sicherlich besser.
Danke :)
0 Punkte
von
Also bei mir geht's, mit allen Formaten.
An welcher Stelle kommt denn der Fehler? Bei welcher Zelle kommt der und was steht in dieser Zelle drin?

Überlauf sollte eigentlich nicht vorkommen, da die verwendeten Variablen alle vom Typ Variant sind. Kannst ja testweise mal so probieren.

Sub FormatText()
Dim c as Range, txt as String
For Each c In Selection.Cells
txt = Format(c.Value, c.NumberFormat)
c.NumberFormat = "@"
c.Value = txt
Next c
End Sub

Hast du auch schon versucht, erstmal nur einen kleinen Bereich zu markieren und darauf auszuführen?

Gruß Mr. K.
0 Punkte
von
Außerdem möchte ich auf eine bestimmte Zeile in einer bestimmten Tabelle begrenzen - geht das?

Verwende statt Selection.Cells z.B.
Sheets("Tabelle1").Range("A5:Z5").Cells

Deine Antwort

Dein angezeigter Name (optional):
Datenschutz: Deine Email-Adresse benutzen wir ausschließlich, um dir Benachrichtigungen zu schicken. Es gilt unsere Datenschutzerklärung.
Anti-Spam-Captcha:
Bitte logge dich ein oder melde dich neu an, um das Anti-Spam-Captcha zu vermeiden.
...