Herbers Excel-Forum - das Archiv

Formatierung

Bild

Betrifft: Formatierung
von: JanL

Geschrieben am: 03.01.2007 20:58:36
Hallo zusammen,
Da ich leider keinerlei VBA-Kenntnisse habe, bitte ich in diesem Forum um Hilfe.
Folgendes Problem:
Zahlen mit acht Stellen sollen in dieses Format umgewandelt werden: 1.234567.8, mit Excel bordmitteln hab ich das nicht hinbekommen.
Kann mir da jemand mit einem kleinem Makro helfen?
Danke im voraus, Jan
Bild

Betrifft: AW: Formatierung
von: chris b

Geschrieben am: 03.01.2007 21:20:23
Hallo Jan,
mit VBA kannst du das so erreichen.
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Len(Target.Value) = 8 And Application.IsNumber(Target.Value) Then
'wert ist 8 Stellig und Zahl
Application.EnableEvents = False
Target = Left(Target.Value, 1) & "." & Mid(Target.Value, 2, Len(Target.Value) - 2) & "." & Right(Target.Value, 1)
Application.EnableEvents = True
Else
'keine Zahl oder nicht 8 stellen
End If
End Sub

gruß Chris
Bild

Betrifft: AW: Formatierung
von: JanL

Geschrieben am: 03.01.2007 21:44:05
Hallo Chris,
Danke für die schnelle Antwort. Hab Deinen VBA-Code mal übernommen und in ein neues Modul kopiert. Leider scheint da irgendwas nicht mit zu funktionieren. Es läßt sich nicht mit Alt+F8 als Makro aufrufen.
Hast Du irgend 'ne Idee. Ich kenn mich damit leider auch überhaupt nicht aus.
Gruß Jan
Bild

Betrifft: AW: Formatierung
von: chris b

Geschrieben am: 03.01.2007 21:52:21
Hallo Jan,
da du eine Eingabe prüfen willst und nicht nach jeder Eingabe Alt+F8 drücken willst habe ich dir diesen Code so geschrieben das er jedesmal aufgerufen wird wenn du in der ZielTabelle eine Eingabe machst.
Du musst den Code also in das Codemodul der entsprechenden Tabelle kopieren.
Er wird dann durch den aufruf:
Private Sub Worksheet_Change(ByVal Target As Range)
jedes mal gestartet wenn du eine eingabe in einer zelle mit "Enter" abschliest.
Es wird dann geprüft ob der Eingegebene Wert eine Zahl ist und diese Zahl auch 8 zeichen hat.
ich denke so sollte es sein oder ??
Bild

Betrifft: AW: Formatierung
von: JanL

Geschrieben am: 03.01.2007 22:01:59
Hallo Chris,
für mich wäre es einfacher, wenn ich die entsprechenden Bereiche markiere und dann ein Makro darüber laufen lassen könnte, welches die Zahlen entsprechend umformatiert. Ich muss mich auch dahingehend korrigieren, dass die Zahlen nur siebenstellig sind. Es soll jeweils nach der ersten und vor der letzten Zahl ein Punkt eingefügt werden.
Danke, Jan
Bild

Betrifft: AW: Formatierung
von: chris b

Geschrieben am: 03.01.2007 22:06:56
Wäre einfacher wenn du die frage gleich richtig stellst.
Habe es dir umgestellt.Sollte so sein wie du es wolltest.
Option Explicit
Sub pruefen()
Dim cb As Range
For Each cb In Selection
If Len(cb.Value) = 7 And Application.IsNumber(cb.Value) Then
'wert ist 8 Stellig und Zahl
Application.EnableEvents = False
cb = Left(cb.Value, 1) & "." & Mid(cb.Value, 2, Len(cb.Value) - 2) & "." & Right(cb.Value, 1)
Application.EnableEvents = True
Else
'keine Zahl oder nicht 7 stellen
End If
Next
End Sub

Bild

Betrifft: AW: Formatierung
von: JanL

Geschrieben am: 03.01.2007 22:15:25
Hallo Chris,
sorry, hab mich wohl zuerst reichlich diffus ausgedrückt. Auf jeden Fall funktioniert das jetzt so wie gewünscht.
Danke für Deine schnelle Hilfe,
Gruß Jan
Bild

Betrifft: AW: Formatierung
von: Daniel Eisert

Geschrieben am: 04.01.2007 01:07:42
Hallo
warum nicht einfach die Zellen markieren, auf Format-Zellen-Zahlen-Benutzerdefiniert gehen und dort bei Typ folgendes eintragen:
0"."000000"."0
falls dus als Funktion haben willst, siehts so aus (Anführungszeichen innerhalb des Definitionsstrings doppelt schreiben):
=TEXT(A1;"0"".""000000"".""0")
Gruß, Daniel
 Bild
Excel-Beispiele zum Thema "Formatierung"
Automatische Datumformatierung unterdrücken Zahlenformatierung mit Punkt nach der 1. Ziffer
Unterschiedliche Schriftformatierung in Kopf-/Fußzeile Jahreskalender und bedingte Formatierung
Bedingte Formatierung auslesen Über die bedingte Formatierung den Minimalwert markieren
Über bedingte Formatierung Hintergrundfarbe bei Zelleingabe ändern Bedingte Formatierung in Abhängigkeit eines Zellkommentars
Markierung von Formeln über bedingte Formatierung Zelleinträgen über die Formatierung Spaltennamen hinzufügen