Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Anzeige
Inhaltsverzeichnis

6stellige Zahl in Datum wandeln

Forumthread: 6stellige Zahl in Datum wandeln

6stellige Zahl in Datum wandeln
23.11.2024 14:38:11
MrMax
Hallo,
ich lese hier schon lange hier sehr gerne mit und bekomme immer wieder Anregungen - vielen Dank dafür.
Nun habe ich ein für mich unlösbares "Problem":
Ich möchte in einer Spalte C und F, deren Zellen als Datumseingabe dienen, dieses ewige "Punkten" vermeiden, dazu einfach nur die 6 stellige Zahl (Datum zB 010224) in die Zelle hintereinander eingeben und beim Verlassen der Zelle diese Zahl in das passende Datumsformat (zB 01.02.24) umgewandelt haben. Dazu möchte ich eigentlich nicht mit "Hilfsspalten" oder sowas arbeiten und frage mich, ob es dafür nicht einen eleganten VBA-Code gibt...

Vielen Dank im Voraus für eure Mühe
Grüße-Max
Anzeige

20
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: 6stellige Zahl in Datum wandeln
23.11.2024 15:04:58
Onur
Private Sub Worksheet_Change(ByVal Target As Range)

Dim txt, t, m, j
txt = Target.Value
If Len(txt) = 5 Then txt = "0" & txt
If Len(txt) = 6 And IsNumeric(txt) Then
t = Left(txt, 2)
m = Mid(txt, 3, 2)
j = Right(txt, 2)
Application.EnableEvents = False
Target = DateSerial(j, m, t)
Application.EnableEvents = True
End If
End Sub
Anzeige
AW: 6stellige Zahl in Datum wandeln
23.11.2024 16:19:08
Yal
Hallo Max,

auf deutschen Tastatur ist der Punkt nicht im Numerischen Block. Das macht die Eingabe lästig.

Möglich ist aber die Eingabe mit Bindestrich (oben rechts am Num-Block):
1-1-24
wird als
01.01.2024
interpretiert und je nach Datenformat angezeigt. Ganz ohne Makro.

Wenn dein Datum sich auf das aktuelles Jahr bezieht, kann man die Jahreseingabe sparen
23-11
wird zu
23.11.2024

Achtung: eine Eingabe mit einem Monat über 12 wird als MM-JJJJ Eingabe verstanden und auf erste Tag des Monats gelegt:
5-13
wird zu
01.05.2013

VG
Yal
Anzeige
AW: 6stellige Zahl in Datum wandeln
23.11.2024 17:05:29
Uduuh
Hallo,
noch'n Gedicht:
Private Sub Worksheet_Change(ByVal Target As Range)

On Error GoTo ERREXIT
Application.EnableEvents = False
Target = CDate(Format(Target, "00-00-00"))
ERREXIT:
Application.EnableEvents = True
End Sub

Gruß aus'm Pott
Udo
Anzeige
AW: 6stellige Zahl in Datum wandeln
23.11.2024 18:06:18
MrMax
Hallo,

vielen lieben Dank für eure Unterstützung!
Verstehe ich nicht, es bleibt, egal bei welcher Variante, bei diesem komischen Datum für das Jahr 2532...:(

Grüße
AW: 6stellige Zahl in Datum wandeln
23.11.2024 18:52:56
RPP63
Der Code ist ein Ereignismakro der Tabelle.
Rechtsklick auf Tabellenregister,
Code anzeigen,
Makro kopieren und dort einfügen.
Du hast aber auch VBA-freie Lösungen erhalten, die eher Deinem Kenntnisstand entsprechen.

Gruß Ralf
Anzeige
AW: 6stellige Zahl in Datum wandeln
24.11.2024 00:33:09
Uduuh
Hallo,
mein Code funktioniert einwandfrei.
Evtl. hilft
Private Sub Worksheet_Change(ByVal Target As Range)

On Error GoTo ERREXIT
Application.EnableEvents = False
Target.NumberFormat = "general"
Target = CDate(Format(Target, "00-00-00"))
ERREXIT:
Application.EnableEvents = True
End Sub

Gruß aus'm Pott
Udo
Anzeige
AW: 6stellige Zahl in Datum wandeln
24.11.2024 01:07:33
MrMax
Dankeeeeee Udo!
Jetzt klappt es auch, wenn ich die Zelle mit einem neuen Eintrag überschreibe...

Danke euch allen, wieder ne Menge dazu gelernt!

Bleibt gesund
Grüße
AW: 6stellige Zahl in Datum wandeln
24.11.2024 03:27:43
Onur
Das Problem war die "intelligente" Tabelle - davon hattest du nix erwähnt.
Hier meine Version:
Private Sub Worksheet_Change(ByVal Target As Range)

Dim txt, t, m, j
Target.NumberFormat = "General"
txt = Target.Value
If Len(txt) = 5 Then txt = "0" & txt
If Len(txt) = 6 And IsNumeric(txt) Then
t = Left(txt, 2)
m = Mid(txt, 3, 2)
j = Right(txt, 2)
Application.EnableEvents = False
Target = DateSerial(j, m, t)
Application.EnableEvents = True
End If
End Sub
Anzeige
AW: 6stellige Zahl in Datum wandeln
24.11.2024 08:51:59
MrMax
Hallo Onur,

auch dir herzlichen Dank, so klappt das auch!
Ich hatte anfänglich nicht daran gedacht, das es entscheidend zu erwähnen wäre, dass es eine I-Tabelle ist, insofern man bei Excel auf jede Kleinigkeit achten muss...

Also noch einmal vielen Dank, auch den pragmatischen Tippgebern...da funktioniert das mit dem 24-11 Tippen übrigens in meiner i-Tabelle auch nicht, kommen auch ganz lustige Datum raus (bei 24-11 zB der 04.08.2024)...

Grüße
Anzeige
Gerne !
24.11.2024 12:35:48
Onur
Tja, ich persönlich verwende keine "intelligenten" Tabellen, da sie, wie du gesehen hast, überall dazwischenfunken.
AW: 6stellige Zahl in Datum wandeln
25.11.2024 10:34:31
Yal
Hallo Max,

"da funktioniert das mit dem 24-11 Tippen übrigens in meiner i-Tabelle auch nicht, kommen auch ganz lustige Datum raus (bei 24-11 zB der 04.08.2024)"

Nun ja, wenn man versucht, 1000 verschiedene möchtegern-schlauer-sein Lösungen zu kombinieren, anstatt den Standard zu verwenden, der von Millionen von Excel-User erprobt worden wurde, bekommt man ein ziemlich verbogenen Anwendung, wo niemand zur Rechenschaft gemacht werden kann, dass etwas schief geht. Ausser der Erzeuger selbst.

Ich wünsche mir, Du hättest in einer neuer, ganz leerer Exceldatei die Eingabe 24-11 probiert, bevor Du einen "bei mir geht es nicht" zurückmeldest.

VG
Yal
Anzeige
AW: 6stellige Zahl in Datum wandeln
25.11.2024 21:27:18
MrMax
Hallo Yal,

ich habe deine Anregung nun noch einmal mit einer jungfräulichen Excel-Datei ausprobiert - und ja, ich muss sagen, das funzt mit (zB) 24-11 einwandfrei.
Und ja, es funktioniert nun auch in meiner eigentlichen Datei, für die ich das "Gimmick" benötigte, warum das jetzt, weiß ich nicht... ich hatte aber bei den neuerlichen Versuchen alle entsprechende Makros deaktiviert, die Datumszellen insofern bis auf das Format "Datum" "jungfräulich" waren.
Deine Lösung ist in der Tat die offenbar sicherste, einfachste und sogar die mit den wenigsten Tastenanschlägen!

Grüße


Anzeige
AW: 6stellige Zahl in Datum wandeln
26.11.2024 09:41:54
Yal
Moin,

Es ist nicht "meine Lösung", es ist Excel. Einfach Excel.
:-)

VG
Yal
AW: 6stellige Zahl in Datum wandeln
23.11.2024 19:20:07
MrMax
...danke für deinen Beitrag,

das habe ich auch probiert, es bleibt bei dieser merkwürdigen Umrechnung auf das Datum in ferner Zukunft...
Da ich mit dem Datum als Datum in der Folge weiter umgehen muss, ist mir das "bloße" Formatieren wie zB 00"."00"."00 oder durch Bindestriche getrennt nicht sehr zielführend.
Grundsätzlich funktionieren ja beide VBA-Codes, noch einmal vielen Dank dafür, mein Excel lebt nur in irgendeiner anderen zeitlichen Sphäre in der fernen Zukunft, und ich weiß nicht, woran das liegen könnte...
Natürlich hast du recht, dass ich nicht sehr bewandert in der VBA bin, aber man möchte sich ja auch weiterentwickeln und lernen, insofern ich vielleicht hier eine für mich zu anspruchsvolle Frage gestellt habe...wobei ich die Entstehung des fehlerhaften Datums irgendwo im Kosmos meines Rechners suchen muss und sicherlich nicht in den Codes der helfenden Köpfe...

Grüße
Anzeige
AW: 6stellige Zahl in Datum wandeln
23.11.2024 19:34:47
onur
Dann poste doch mal endlich die Datei, wo das Makro angeblich nicht funktioniert .
AW: 6stellige Zahl in Datum wandeln
24.11.2024 00:22:27
MrMax
Ich habe mal eine kleine Beispieldatei hochgeladen.
Es funktioniert, wenn ich zum ersten Mal einen Eintrag in die Zelle der Tabelle mache: in eine leere Zelle eingegeben 231124 ergibt den Eintrag 23.11.2024 - also alles so, wie ich mir das wünschte.
Muss ich aber in der gleichen Zelle das schon eingetragene Datum aus welchen Gründen auch immer ändern, funktioniert das Umwandeln der 6stelligen Zahl nicht mehr korrekt, es wird, gebe ich über das vorhandene Datum zB 221124 ein, wird 31.05.2505 eingetragen.
Der von mir vermutete Grund wird sein, dass vor dem ersten Eintrag in die Zelle das Format "Standard" war, aber durch das Makro in "Datum" geändert wurde und so beim nächsten Aufruf immer noch auf "Datum" steht. Somit wird die folgend eingegebene 6stellige Zahl nicht mehr korrekt, da nicht "Standardformat", mit dem gewünschten Datum aus der 6stelligen Zahl wiedergegeben.

https://www.herber.de/bbs/user/173789.xlsm

Grüße
Anzeige
AW: 6stellige Zahl in Datum wandeln
23.11.2024 19:48:16
MrMax
So, nun habe ich "experimentiert" - mit folgendem Ergebnis:

Steht die Zelle auf dem Format: "Standard", klappt es mit dem Datum.
Nach dem Verlassen der Zelle wird selbige aber auf "Datum" umgesetzt und das führt dann beim neuerlichen Eingeben einer 6stelligen Zahl in dieselbe Zelle zu dem verrückten Datum, da die Zahl direkt von Excel umgerechnet wird...
Ich müsste also, wenn ich in die Datumszelle springe, die ich verändern möchte, diese zuerst über das Makro in das Format "Standard" setzen, bevor der eigentliche Code abläuft...

Grüße
Anzeige
AW: 6stellige Zahl in Datum wandeln
23.11.2024 15:52:13
MrMax
Hallo,

zunächst super lieben Dank für deine Hilfe!
Jetzt wird in der Tat in der Datumsspalte in der jeweiligen Zelle die 6stellige Zahl in ein Daum umgewandelt, jedoch, wenn ich für heute 231124 eingeben, trägt er nach dem Verlassen der Zelle das Datum 16.10.2532 ein...hast du einen Tipp, woran das liegen könnte?

Grüße
Anzeige
AW: 6stellige Zahl in Datum wandeln
23.11.2024 16:00:24
RPP63
Moin!
Nun, der 16.10.2532 ist halt der 231124ste Tag der Excel-Datumsrechnung ab dem 1.1.1900

Wenn ich ein Datum schnell in eine mit dem gewünschten Datumsformat in eine Zelle eingeben will …
… schreibe ich für den 01.02.24 mittels Ziffernblock:
1-2 oder 1/2
(das sind 3 statt 6 Tastenanschläge)
Für ein anderes als das aktuelle Jahr:
Für den 17.12.1984 17-12-84 (ja sind zwei Anschläge mehr, geht aber am Ziffernblock blitzschnell).
Ganz ohne VBA und ähnliche Verrenkungen.

Gruß Ralf
Anzeige
AW: 6stellige Zahl in Datum wandeln
23.11.2024 16:13:10
Onur
An Dir...
Bei mir kommt korrekt 23.11.2024 dabei heraus.
Anzeige
Anzeige
Live-Forum - Die aktuellen Beiträge
Datum
Titel
14.05.2026 13:31:09
14.05.2026 09:50:42
13.05.2026 19:14:18