Clever-Excel-Forum

Normale Version: Format für Zahlen UND Text
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
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?
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
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
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...