Option Explicit
Sub raketenankunftszeit2()
' Dieses Programm berechnet die Ankunftszeit einer Rakete.
'   Eingaben:   Abflugzeit in Stunden, Minuten und Sekunden
'               Flugdauer in Stunden, Minuten und Sekunden
'   Ausgabe:    Ankunftszeit in Stunden, Minuten und Sekunden
' Dateiname raketen2

Dim AbflugTage As Long
Dim AbflugStunden As Long
Dim AbflugMinuten As Long
Dim AbflugSekunden As Long
Dim LandungTage As Long
Dim LandungStunden As Long
Dim LandungMinuten As Long
Dim LandungSekunden As Long
Dim FlugzeitStunden As Long
Dim FlugzeitMinuten As Long
Dim FlugzeitSekunden As Long
Dim AbflugInSekunden As Long
Dim LandungInSekunden As Long
Dim FlugdauerInSekunden As Long
Dim FlugzeitTage As Long


'Initialisierung

    
'Ausgabe der Bedienungsanleitung

    MsgBox ("Bitte geben Sie die Startzeit und " & Chr$(13) & _
            "die Landezeit der Rakete in Tagen, Stunden, Minuten und Sekunden  an. " & Chr$(13) & _
             "Auch die Ausgabe  erfolgt in Tagen, Stunden,Minuten und Sekunden")
             
'Einlesen der Benutzereingaben
    AbflugTage = InputBox("Geben Sie nun die Tage der Abflugzeit ein!")
    AbflugStunden = InputBox("Geben Sie nun die Stunde der Abflugzeit ein!")
    AbflugMinuten = InputBox("Geben Sie nun die Minuten der Abflugzeit ein!")
    AbflugSekunden = InputBox("Geben Sie nun die Sekunden der Abflugzeit ein!")
    LandungTage = InputBox("Geben Sie nun die Tage der Landezeit ein!")
    LandungStunden = InputBox("Geben Sie nun die Stunden der Landezeit ein!")
    LandungMinuten = InputBox("Geben Sie nun die Minuten der Landezeit ein!")
    LandungSekunden = InputBox("Geben Sie nun die Sekunden der Landezeit ein!")
    
' Rechne Startzeit und Landezeit in Sekunden um

    AbflugInSekunden = AbflugTage * 24 * 3600 + AbflugStunden * 3600 + _
                                        AbflugMinuten * 60 + AbflugSekunden
    LandungInSekunden = LandungTage * 24 * 3600 + LandungStunden * 3600 + _
                                        LandungMinuten * 60 + LandungSekunden
    
' Berechne die Flugdauer
 
    FlugdauerInSekunden = LandungInSekunden - AbflugInSekunden
    
If (FlugdauerInSekunden < 0) Then
        MsgBox ("Der Landezeitpunkt liegt vor dem Startzeitpunkt!")
        
Exit Sub
    
End If
    
    FlugzeitStunden = FlugdauerInSekunden \ 3600
    FlugzeitTage = FlugzeitStunden \ 24
    FlugzeitStunden = FlugzeitStunden 
Mod 24
    FlugdauerInSekunden = FlugdauerInSekunden 
Mod 3600
    FlugzeitMinuten = FlugdauerInSekunden \ 60
    FlugzeitSekunden = FlugdauerInSekunden 
Mod 60
    
'Gib die Flugdauer am Bildschirm aus
    If (FlugzeitTage > 0) Then
        MsgBox ("Die Flugzeit der Rakete ist: " & FlugzeitTage & _
                        " Tage " & FlugzeitStunden & " Stunden " & _
                        FlugzeitMinuten & " Minuten " & FlugzeitSekunden _
                        & " Sekunden ")
    
Else
        MsgBox ("Die Flugzeit der Rakete ist: " & FlugzeitStunden & ":" & _
                        FlugzeitMinuten & ":" & FlugzeitSekunden)
    
End If
End Sub