Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
828to832
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
828to832
828to832
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Datumeingabe als TT.MM.JJJJ erscheinen
13.12.2006 12:59:10
Sophie
Hallo liebe Freunde!
Wie kann ich Excel dazubringen, wenn ich 01012000 eingebe, dass er das weiß und 01.01.2000 erscheinen lässt ?
Hat jemande eine Idee?
Wäre sehr-sehr dankbar !!!!
Alles Liebe !
Sophie

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datumeingabe als TT.MM.JJJJ erscheinen
13.12.2006 13:16:25
Oberschlumpf
Hi Sophie
Dieses Bsp bezieht sich auf Spalte A:
1. Dieses Bsp "verlangt" die Werteingabe so:
TTMMJJJJ
Falsch wäre
TTMMJJ
2. zuerst allen betroffenen Zellen in Spalte A das Format Text zuweisen
3. dann diesen Code einfügen

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then '1 steht für Spalte A, 2 = B, 3 = C usw - musst du vielleicht anpassen (du verrätst ja nicht, in welcher Spalte deine Daten stehen)
If Target.Value = "" Then Exit Sub
Application.EnableEvents = False
Target.Value = Left(Target.Value, 2) & "." & Mid(Target.Value, 3, 2) & "." & Right(Target.Value, 4)
Target.NumberFormat = "m/d/yyyy" 'Zelle wird automatisch von Textformat auf Datumsformat umgestellt
Target.HorizontalAlignment = xlRight 'Wert wird rechts ausgerichtet
Application.EnableEvents = True
End If
End Sub

Konnte ich helfen?
Ciao
Thorsten
Anzeige
AW: Datumeingabe als TT.MM.JJJJ erscheinen
13.12.2006 13:16:51
EtoPHG
Hallo liebe Sophie,
...ich 01012000 eingebe, dass er das weiß und 01.01.2000 erscheinen lässt ?
Fragen über Fragen:
Wer ist er ?
Wo gibst Du das ein, in eine Zelle, eine Textbox, Userform... ?
Wie soll Excel diese Eingabe von einer 'normalen' Zahl unterscheidn ?
Was heisst erscheinen lassen ?... Willst Du mit dem Datum weiterrechnen
Beispiel in A1 steht 01012000 in B1 steht diese Formel:

=DATUM(RECHTS(A1;4);LINKS(RECHTS(A1;6);2);LINKS(A1;LÄNGE(A1)-6))

,d.h. mit B1 kannst Du wie mit einem Datum rechnen.
... oder, soll die Zelle nur so formatiert werden, d.h. Du machst keine Bezüge auf diese Zelle?
Dann kannst Du die Zelle A1 so formatieren: Benutzerdefiniert 00"."00"."0000
Gruss Hansueli
Anzeige
AW: Datumeingabe als TT.MM.JJJJ erscheinen
13.12.2006 15:25:43
Sophie
Hallo lieber Thorsten, lieber Hansueli,
habe ausprobiert! beides funktioniert! COOL!!!
Thorsten, kleine Frage, könnte ich den Code nicht an die ganze Spalte, sondern nur an ausgewählte Zeilen beziehen? (F8, J8, I25, M25)?
Vielen lieben Dank!!!!
Herzliche Grüße
Sophie
AW: Datumeingabe als TT.MM.JJJJ erscheinen
13.12.2006 17:36:44
EtoPHG
Hallo Sophie,
Wenn Du diesen Code in DieseArbeitsmappe kopierst, führt er auf Rechtsklick in eine beliebige Zelle oder einen Zellenbereich (eines beliebigen Blattes der besagten Mappe) die sogenannte "Sophiesche Datumswandlung" durch, sofern in der Zelle eine Wert steht, der sich auch umwandeln lässt.

Private Sub Workbook_SheetBeforeRightClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
Dim cCell As Range
On Error Resume Next
Application.EnableEvents = False
For Each cCell In Target
cCell.Value = DateSerial(Right(cCell, 4), Left(Right(cCell, 6), 2), Left(cCell, Len(cCell) - 6))
Next
Application.EnableEvents = True
Cancel = True
End Sub

Gruss Hansueli
Anzeige
AW: Datumeingabe als TT.MM.JJJJ erscheinen
13.12.2006 18:41:39
Oberschlumpf
Hi Sophie
Bin wieder daaa...die Zeit mit den Weihnachtsfeiern beginnt nun auch für mich :-)
Meinst du Zeilen oder Zellen?
Ich vermute, du meinst Zellen.
Versuch es mal so:

Private Sub Worksheet_Change(ByVal Target As Range)
'dieser Code wird nur ausgeführt, wenn ein Wert DER Zellen geändert wird,
'die in der folgenden Befehlszeile aufgeführt sind
If Intersect(Target, Range("F8, J8, I25, M25")) Is Nothing Then Exit Sub
If Target.Value = "" Then Exit Sub
Application.EnableEvents = False
Target.Value = Left(Target.Value, 2) & "." & Mid(Target.Value, 3, 2) & "." & Right(Target.Value, 4)
Target.NumberFormat = "m/d/yyyy"
Target.HorizontalAlignment = xlRight
Application.EnableEvents = True
End Sub

Konnte ich helfen?
Ciao
Thorsten
Anzeige

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige