Supportnet / Forum / Tabellenkalkulation
Excel Formatierung
Frage
Hallo
1. Problem:
Wie formatiere ich eine 9 stellige zahl. 123456789
Die Ausgabe soll so aussehen. 123.456.78.9
Wenn ich als formatierung ###.###.##.# angebe, dann wird der letzte punkt nicht angezeigt.
Also 123.456.789
2. Problem:
Wie formatiere ich das ganze wenn es zusätzlich buchstaben sind? 123456AB9
und ich ebenfalls als ausgabe 123.456.AB.9 möchte.
Danke
Antwort 1 von Event
1. Bei Zahlen: ###"."###"."##"."#
2. Bei Text: wirst du um ein VBA-Lösung nicht umhin kommen bzw. gleich die richtige Eingabe.
Gruß
2. Bei Text: wirst du um ein VBA-Lösung nicht umhin kommen bzw. gleich die richtige Eingabe.
Gruß
Antwort 2 von Erich964584
Danke erstmal
Das mit den Zahlen hab ich nun auch nach langem probieren hinbekommen.
Leider kenn ich mich da überhaupt nicht aus.
Aber es muss doch möglich sein dass dort einfach ne formatierung sagt: he mach nach 3 zeichen, nach 6 und nach 8 nen punkt rein. egal was für zeichen.
Das mit den Zahlen hab ich nun auch nach langem probieren hinbekommen.
Leider kenn ich mich da überhaupt nicht aus.
Aber es muss doch möglich sein dass dort einfach ne formatierung sagt: he mach nach 3 zeichen, nach 6 und nach 8 nen punkt rein. egal was für zeichen.
Antwort 3 von schnallgonz
N´abend,
eine VBA-Lösung wäre das Beste, kriege ich aber auf die Schnelle nicht oder auch nie hin . Wäre was für Coros, nighty & Co.
Vielleicht tun es auch ein paar Hilfsspalten, in die Teile des Zelleninhalts gelegt werden.
Bsp::
in Spalte A stehen Deine 9-stelligen Werte
in Spalte B isolierst Du die ersten 3 Zeichen
mit =Links(A2;3)
in Spalte C isolierst Du die nächsten 3 Zeichen
mit =Teil(A2;4;3)
in Spalte D isolierst Du die nächsten 2 Zeichen
mit =TEIL(A2;7;2)
in Spalte E isolierst Du das letzte Zeichen
mit =Rechts(A2;1)
Zum Schluss in Spalte F alles zusammenfügen mit Punkten nach 3, 6 und 8 Stellen
mit =VERKETTEN(B2;´.´;C2;´.´;D2;´.´;E2)
Dann ist es egal, ob Zahlen oder Buchstaben enthalten sind.
Vielleicht noch Spalten B bis E ausblenden oder Gruppieren.
Das ist mein Vorschlag.
Alternative wie schon gesagt:
eine VBA-Lösung, die mich auch interessieren würde.
Wer bietet sie an?
MfG
schnallgonz
eine VBA-Lösung wäre das Beste, kriege ich aber auf die Schnelle nicht oder auch nie hin . Wäre was für Coros, nighty & Co.
Vielleicht tun es auch ein paar Hilfsspalten, in die Teile des Zelleninhalts gelegt werden.
Bsp::
in Spalte A stehen Deine 9-stelligen Werte
in Spalte B isolierst Du die ersten 3 Zeichen
mit =Links(A2;3)
in Spalte C isolierst Du die nächsten 3 Zeichen
mit =Teil(A2;4;3)
in Spalte D isolierst Du die nächsten 2 Zeichen
mit =TEIL(A2;7;2)
in Spalte E isolierst Du das letzte Zeichen
mit =Rechts(A2;1)
Zum Schluss in Spalte F alles zusammenfügen mit Punkten nach 3, 6 und 8 Stellen
mit =VERKETTEN(B2;´.´;C2;´.´;D2;´.´;E2)
Dann ist es egal, ob Zahlen oder Buchstaben enthalten sind.
Vielleicht noch Spalten B bis E ausblenden oder Gruppieren.
Das ist mein Vorschlag.
Alternative wie schon gesagt:
eine VBA-Lösung, die mich auch interessieren würde.
Wer bietet sie an?
MfG
schnallgonz
Antwort 4 von Erich964584
Auf die Idee bin ich auch schon gekommen.
=Teil(A1;1;3)&"."&Teil(A1;4;3)&"."&Teil(A1;7;2)&"."&Teil(A1;9;1)
Aber genau das will ich net. Entweder will ich die ganze Spalte A so formatieren, dass direkt nach dem reinschreiben der 9 stelligen Zahl, diese formatiert wird.
Oder ich will dass ich alle Zahlen z.B erst reinschreibe, und anschliessend diese bestimmten Zellen markiere und durch irgendetwas diese dann formatiert werden.
Leider kenn ich mit mit VBAs absolut nicht aus.
Wäre also echt geil wenn mir da jemand helfen könnte.
Freundliche Grüße
=Teil(A1;1;3)&"."&Teil(A1;4;3)&"."&Teil(A1;7;2)&"."&Teil(A1;9;1)
Aber genau das will ich net. Entweder will ich die ganze Spalte A so formatieren, dass direkt nach dem reinschreiben der 9 stelligen Zahl, diese formatiert wird.
Oder ich will dass ich alle Zahlen z.B erst reinschreibe, und anschliessend diese bestimmten Zellen markiere und durch irgendetwas diese dann formatiert werden.
Leider kenn ich mit mit VBAs absolut nicht aus.
Wäre also echt geil wenn mir da jemand helfen könnte.
Freundliche Grüße
Antwort 5 von schnallgonz
Hi,
Dein Formellösung ist natürlich viel schöner als meine Bandwurmlösung.
Für die VBA-Lösung brauchen die landesbekannten Künstler wahrscheinlich weniger als eine Kaffeelänge.
Mir fehlt z.Zt. noch die Syntax zum Auslesen der n´ten Stelle in Verbindung mit Einfügen, muss ich erst nachlesen.
Der Rest sollte kein Problem sein.
Vielleicht findet sich noch ein VBA-Spezi, mit meinem Halbwissen dauerts jedenfalls ein paar Tage.
MfG
schnallgonz
Dein Formellösung ist natürlich viel schöner als meine Bandwurmlösung.
Für die VBA-Lösung brauchen die landesbekannten Künstler wahrscheinlich weniger als eine Kaffeelänge.
Mir fehlt z.Zt. noch die Syntax zum Auslesen der n´ten Stelle in Verbindung mit Einfügen, muss ich erst nachlesen.
Der Rest sollte kein Problem sein.
Vielleicht findet sich noch ein VBA-Spezi, mit meinem Halbwissen dauerts jedenfalls ein paar Tage.
MfG
schnallgonz
Antwort 6 von rainberg
Hallo Erich,
dieses Makro erzeugt die gewollte Formatierung im Bereich A1:A100, kann angepasst werden.
Gruß
Rainer
dieses Makro erzeugt die gewollte Formatierung im Bereich A1:A100, kann angepasst werden.
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Not Intersect(Target, Range("A1:A100")) Is Nothing Then
Target.Value = Left(Target.Value, 3) & "." & Mid(Target.Value, 4, 3) & "." & _
Mid(Target.Value, 7, 2) & "." & Right(Target.Value, 1)
End If
Application.EnableEvents = True
End Sub Gruß
Rainer
Antwort 7 von schnallgonz
N´abend
@Rainer
tausend Dank, so habe ich mir das vorgestellt.
Ich wäre wahrscheinlich frühestens Ostern (2006) darauf gekommen, das als Ereignis zu schreiben.
Ich habe verzweifelt versucht, mit Left und Co in ActiveCell mit Insert was hinzukriegen.
Ich nehm´s in meine Sammlung in der Hoffnung, das Ding bei Bedarf nochmal zu finden.
@Erich
Weißt Du, wie Du Rainers Lösung einbindest?
Wenn ja, schönen Abend,
wenn nein:
mit "ALT + F11" wechsel in die VBA-Umgebung, dort Doppelklick auf Deinen Tabellennamen im linken Fenster (unter VBA-Project) und im großen Fenster rechts den obigen Code einfügen.
und jetzt auch einen schönen Abend
MfG
schnallgonz
@Rainer
tausend Dank, so habe ich mir das vorgestellt.
Ich wäre wahrscheinlich frühestens Ostern (2006) darauf gekommen, das als Ereignis zu schreiben.
Ich habe verzweifelt versucht, mit Left und Co in ActiveCell mit Insert was hinzukriegen.
Ich nehm´s in meine Sammlung in der Hoffnung, das Ding bei Bedarf nochmal zu finden.
@Erich
Weißt Du, wie Du Rainers Lösung einbindest?
Wenn ja, schönen Abend,
wenn nein:
mit "ALT + F11" wechsel in die VBA-Umgebung, dort Doppelklick auf Deinen Tabellennamen im linken Fenster (unter VBA-Project) und im großen Fenster rechts den obigen Code einfügen.
und jetzt auch einen schönen Abend
MfG
schnallgonz
Antwort 8 von Erich964584
Vielen Dank Rainer
Echt klasse dass das so schnell ging.
Freundliche Grüße Erich
Echt klasse dass das so schnell ging.
Freundliche Grüße Erich
Antwort 9 von Erich964584
Hallo Rainer
Hab das ganze nun probiert, leider besteht das Problem weiterhin bei den Buchstaben. siehe ganz oben 2. Problem. Denn das erste hatten wir ja schon durch die Formatierung gelöst.
Hättest du dafür vielleicht noch ne Lösung?
Danke schonmal
Hab das ganze nun probiert, leider besteht das Problem weiterhin bei den Buchstaben. siehe ganz oben 2. Problem. Denn das erste hatten wir ja schon durch die Formatierung gelöst.
Hättest du dafür vielleicht noch ne Lösung?
Danke schonmal
Antwort 10 von rainberg
Hallo Erich,
verstehe nicht was du meinst.
Das Makro funktioniert bei mir für beide Eingaben.
Einmal Eingabe von 9 Zahlen oder Eingabe von 6 Zahlen, 2 Buchstaben, 1 Zahl wird immer die gleiche Formatierung erzeugt.
Ich müsste vielleicht noch erwähnen, das die Zellen vor der Eingabe das Textformat haben sollten.
Gruß
Rainer
verstehe nicht was du meinst.
Das Makro funktioniert bei mir für beide Eingaben.
Einmal Eingabe von 9 Zahlen oder Eingabe von 6 Zahlen, 2 Buchstaben, 1 Zahl wird immer die gleiche Formatierung erzeugt.
Ich müsste vielleicht noch erwähnen, das die Zellen vor der Eingabe das Textformat haben sollten.
Gruß
Rainer
Antwort 11 von Erich964584
Hallo Erich,
habs heut morgen in der Firma versucht und da hat es nicht geklappt.
Jetzt zu hause funktioniert es.
Vielleicht hab ich ja falsch formatiert, wahrscheinlich als Standard.
Also Danke nochmals
habs heut morgen in der Firma versucht und da hat es nicht geklappt.
Jetzt zu hause funktioniert es.
Vielleicht hab ich ja falsch formatiert, wahrscheinlich als Standard.
Also Danke nochmals
Antwort 12 von Erich964584
Sorry, wollte eigentlich Hallo Rainer schreiben.

