Anzeige
Archiv - Navigation
832to836
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
832to836
832to836
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Formatierung

Formatierung
03.01.2007 20:58:36
JanL
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

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Formatierung
03.01.2007 21:20:23
chris
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
AW: Formatierung
03.01.2007 21:44:05
JanL
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
Anzeige
AW: Formatierung
03.01.2007 21:52:21
chris
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 ?
Anzeige
AW: Formatierung
03.01.2007 22:01:59
JanL
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
AW: Formatierung
03.01.2007 22:06:56
chris
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

Anzeige
AW: Formatierung
03.01.2007 22:15:25
JanL
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
AW: Formatierung
04.01.2007 01:07:42
Daniel
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

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige