Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
872to876
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
872to876
872to876
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

zeitformat in dezimalformat und umgekehrt

zeitformat in dezimalformat und umgekehrt
02.06.2007 21:07:00
tom

hallo,
habe probleme bei der umwandlung per vba von zeitformaten in dezimalformate.
ich wäre sehr dankbar für nen kleinen tip.
beispiel:
beginn und xtime sind als date formatiert
"sub zeit
a = "5:30"
Dim beginn As Date
beginn = Format(a, "hh:mm")
x = "06:00"
Dim xtime As Date
xtime = Format(x, "hh:mm")
If beginn < xtime Then
plus = Format(xtime - beginn, "hh:mm")
MsgBox plus
End If"
das ergebnis "plus" möchte ich nun per vba in eine dezimalzahl und
nach verschiedenen berechnungen wieder in das zeitformat umwandeln.
vielen dank schon mal - tom

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

Betreff
Datum
Anwender
Anzeige
AW: zeitformat in dezimalformat und umgekehrt
02.06.2007 21:31:00
Josef
Hallo Tom,
bei "VBA gut" solltest du dich mit den verschiedenen Datentypen aber schon auskennen.
Sub zeit()
Dim start As String, ende As String
Dim beginn As Date, xtime As Date, plus As Variant

start = "5:30" 'String
ende = "06:00" 'String

beginn = CDate(start) 'Datum/Zeit
xtime = CDate(ende) 'Datum/Zeit



If beginn < xtime Then
    plus = xtime - beginn 'Datum/Zeit
    MsgBox Format(plus, "hh:mm") 'String
End If

plus = CDbl(plus) 'Dezimal

MsgBox plus

plus = CDate(plus) 'Datum/Zeit

MsgBox plus

End Sub

Gruß Sepp

Anzeige
AW: zeitformat in dezimalformat und umgekehrt
02.06.2007 21:51:00
tom
vielen dank sepp, ps: vba mittel gibts nicht
gruß - tom

AW: zeitformat in dezimalformat und umgekehrt
02.06.2007 21:37:00
Matthias
Hallo Tom,
wenn beginn ald Date deklariert ist, wieso dann die Zeile:
beginn = Format(a, "hh:mm") ?
Es kommt zwar kein Fehler, aber Format ist doch für Strings gedacht.

Function ToDezimal(t As Date) As Double
ToDezimal = CDbl(t) * 24
End Function
Function ToDate(d As Double) As Date
ToDate = CDate(d / 24)
End Function


Gruß Matthias

AW: zeitformat in dezimalformat und umgekehrt
02.06.2007 22:03:35
tom
hallo matthias, vielen dank für deine mühe
ich hab jetzt nicht ausprobiert, ob die nachträgliche formatierung hier notwendig ist, bringt aber die möglichkeit, entsprechend formatierte ergebnisse zurückzubekommen.
gruß tom

Anzeige
AW: zeitformat in dezimalformat und umgekehrt
02.06.2007 22:07:00
Matthias
Hallo Tom,
...bringt aber die möglichkeit, entsprechend formatierte ergebnisse zurückzubekommen.

Ja, aber nicht für Date-Variablen:

Sub test()
Dim d As Date
d = Format("6:30", "hh:mm")
Debug.Print d
d = Format("6:30", "dd/mm/yyyy hh:mm")
Debug.Print d
End Sub


Gruß Matthias

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige