Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Format für Zahlen UND Text
#1
Hallo.

Da ich aus beruflichen Gründen nun zu Microsoft Excel gezwungen bin (habe vorher mit Numbers gearbeitet), habe ich gleich ein riesen Problem:
Für eine Teileliste brauche ich das Format:

1234 123 1234

Bei Zahlen ist das einfach, als Format #### ### #### angeben und gut ist.
Man tippt "12341231234" ein und erhält "1234 123 1234".
Leider braucht es für die Übersicht aber auch folgende Eingabe:

1234 12x xxxx oder
1234 123 1xxx usw.

Wenn ich mit oben erwähntem Format jetzt "123412xxxxx" eingebe, erhalte ich auch "123412xxxxx" und nicht, wie gewünscht, "1234 12x xxxx".
Wie kann ich Zellen so formatieren, dass alles, was ich eingebe, in diesem Format ausgegeben wird?
Antworten Top
#2
Moin!
Geht das in Numbers über das Zahlenformat?
In Excel jedenfalls imo nicht, da Excel mit dem Formatstring "@@@@ @@@ @@@@" nichts anfangen kann.
Format() in VBA kommt damit hingegen klar.

UDF:
Function Text_or_Number$(Origin)
If IsNumeric(Origin) Then
  Text_or_Number = Format(Origin, "#### ### ####")
Else
  Text_or_Number = Format(Origin, "@@@@ @@@ @@@@")
End If
End Function

ergibt:
GH
12123412312341234 123 1234
13123412xxxxxx1234 12x xxxxx

ZelleFormel
H12=Text_or_Number(G12)
H13=Text_or_Number(G13)

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#3
Moin,

schau mal hier: https://www.herber.de/forum/archiv/620to...ormat.html
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Antworten Top
#4
Da finde ich meinen Formatstring aber flauschiger!  19
By the way ist eine Unterscheidung zwischen Zahl und Text nicht notwendig.

Als Worksheet_Change reicht:
(der String wird durch das ! von links nach rechts aufgefüllt,
Eingabe von 123123 ergibt dann 123 123)

Microsoft Excel Objekt Tabelle2
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo errExit
With Target
  If .Column = 5 And .CountLarge = 1 Then
    Application.EnableEvents = False
    .Value = Format(.Value, "!@@@@ @@@ @@@@")
  End If
End With
errExit:
Application.EnableEvents = True
End Sub

E
191234 567 aaa
201234 567 8901
211234 12x xxxx
221234 5

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#5
Das sieht ja alles recht schlüssig aus. Ich habe nur ein Problem:

Wo soll ich das hinschreiben? Huh

Achtung! Ich habe erstmals seit 18 Jahren wieder einen Windows-PC in den Fingern....

Unter OS geht das alles wesentlich einfacher...
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste