Anzeige
Archiv - Navigation
1944to1948
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
Inhaltsverzeichnis

Datum/Zeit immer mit Sekunden (auch ggf. 00) ausgeben

Datum/Zeit immer mit Sekunden (auch ggf. 00) ausgeben
01.09.2023 10:11:25
BerndWo
Guten Morgen,
als meine erste Frage habe ich ein Problem mit Datum/Uhrzeit in einem wissenschaftlichen Projekt bei der Analyse von großen Datensätzen mit Laborwerten.
Aufgrund der internationalen Nutzer gehe ich die Datensätze immer durch und prüfe um dann auch, um leere Datensätze zu erkennen, etc.
Bisher haben wir nur das Datum ohne Uhrzeit verwendet und das klappte gut.

Neu ist, dass wir nun auch die Uhrzeit aus Stunden und Minuten verwenden möchten, wenn vorhanden. Das entscheidet der Anwender durch die Formatangabe.
Das Datum liegt in einem Array. Das Gesamtprojekt ist so groß, dass ich nicht die ganze Datei hochladen kann.

Codeausschnitt:


Case 4 'Prüft das Testdatum iVar=4 auf Datumsformat (und sortiert aufsteigend)
Dim dformat As String 'für die spezifische regionale Formatierung des Datums

If iCol = 0 Then
'iCol=0 es wurde keine Spalte für Auftragsdatum ausgewählt
For i = 1 To nRows
arrOutput(i, iVar) = sNA 'trotzdem wird der Standarddatensatz komplett mit NA gefüllt
Next
Exit Function
Else
dformat = "dd.mm.yyyy hh:mm" 'wird eigentlich vom Anwender festgelgt
For i = 1 To nRows
If VBA.IsDate(arrData(i, iCol)) = False Or VBA.CStr(arrData(i, iCol)) = Empty Then
' leere oder unplausible Datensätze mit NA ersetzen
arrOutput(i, iVar) = sNA
Else
arrOutput(i, iVar) = Format(CDate(arrData(i, iCol)), dformat)
End If
Next
End If


Jetzt passiert etwas ungewöhnliches: immer wenn z.B. "10.04.2022 00:00" im Ausgangsdatensatz steht, dann wird nur "10.04.2022" übernommen und die
Angaben der Zeit ignoriert. Zugegeben, es gibt nur wenige Datensätze, die genau auf diese Uhrzeit fallen aber wir werten die Daten später mit R aus und das ist da empfindlich, wenn die Uhrzeit doch fehlt.
Die dafür zuständige Codezeile ist:
arrOutput(i, iVar) = Format(CDate(arrData(i, iCol)), dformat)

Wir kann ich in VBA erzwingen, dass immer auch die "00:00" -Uhrzeit ausgegeben wird?

Ich hoffe, dass ich nicht zu viel gesabbelt habe...
Vielen Dank, Bernd

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datum/Zeit immer mit Sekunden (auch ggf. 00) ausgeben
01.09.2023 10:39:53
Oberschlumpf
Hi Bernd,

ich würd es so versuchen:

schreib direkt über der Zeile...


arrOutput(i, iVar) = Format(CDate(arrData(i, iCol)), dformat)

...diesen Code...


If Len(arrOutput(i, iVar)) > 16 Then
arrOutput(i, iVar) = arrOutput(i, iVar) & "00:00"
End If


Hilfts?
Nein? Dann erstell bitte eine Bsp-Datei mit Bsp-Daten und zeig sie hier per Upload.

Ciao
Thorsten
Datum/Zeit immer mit Sekunden (auch ggf. 00) ausgeben
02.09.2023 16:58:51
BerndWo
Hallo Thorsten,
prinzipiell kann man das so machen. Es wäre aber sehr aufwändig, da es international sehr viele Datumsformate gibt und ich für alle
unterschiedlichen Varianten eine eigene Prüfung schreiben müsste.
Ich hatte mir erhofft, Excel zur vollständigen Ausgabe zu zwingen.

Vielen Dank
Bernd
Anzeige

107 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige