Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

Uhrzeiten / Stunden in Vba vergleichen

Betrifft: Uhrzeiten / Stunden in Vba vergleichen von: Marcel
Geschrieben am: 08.07.2015 11:11:38

Hey, ich sitze jetzt schon einige Zeit an folgendem Problem.
Ich habe in meiner Tabelle einige aufeinanderfolgende Parameter im Format hh:mm:ss (Uhrzeiten):

11:43:53
12:43:03
13:43:03
14:43:03
15:43:03
16:43:03
17:43:03
18:43:03
18:52:09

Hierbei soll nun mittels VBA vergleichen werden, ob die untereinander aufgelisteten Zeiten größer/gleich eine Stunde (oder mehr) auseinander liegen. Lediglich Differenzen kleiner als eine Stunde dürfen die Bedingung nicht erfüllen. So müsste dann die erste und letzte Zeile vernachlässigt werden, da diese die Bedingung nicht erfüllen.

Hier mein Ansatz:

Dim a As Date
Dim b As Date

x = 2
y = 1
s = 1

a = "01:00:00"

while s < 10

b = Cells(x, 32) - Cells(y, 32) 'hier die Zeile/Spalte in der die obrigen Daten in meiner Tabelle stehen

If b >= a Then

MsgBox "Bedingung erfüllt"

x = x + 1
y = y + 1

Else

MsgBox "Bedingung nicht erfüllt"

x = x + 1
y = y + 1


End If

s=s+1

Wend

Vom Prinzip her denke ich, dass das Programm funktioniert. Allerdings denke ich, dass es Probleme mit der Formatierung gibt.

Als Nebeninfo: In Excel selbst, wurden die Zeilen bereits formatiert. Das ursprüngliche Format ist: "05.02.2015 11:43"

Vielleicht kann mir ja jemand helfen! Für eure Hilfe bin ich sehr dankbar.

Viele Grüße

  

Betrifft: AW: Uhrzeiten / Stunden in Vba vergleichen von: ransi
Geschrieben am: 08.07.2015 13:49:50

hALLO;

vERSUCH MAL SOWAS.

Option Explicit

Sub machs()
    Dim L As Long
    For L = 1 To 8
        If Round(Abs(Cells(L, 1).Value - Cells(L + 1, 1).Value), 10) >= Round(1 / 24, 10) Then _
            Debug.Print Cells(L, 1).Text & "-" & Cells(L + 1, 1).Text & vbCrLf & Format(Cells(L, 1) - Cells(L + 1, 1), "hh:mm:ss")
    Next
End Sub



Für Excel sind Zeitangaben ganz normale Zahlen.
Mit denen kannst du rechnen..

ransi


  

Betrifft: AW: Uhrzeiten / Stunden in Vba vergleichen von: Marcel
Geschrieben am: 08.07.2015 14:33:42

Hey!

Schonmal vielen Dank für die schnelle Antwort.

Ich habe deinen code probiert und er funktioniert schonmal wunderbar. Allerdings hätte ich dazu noch eine frage.

Ich habe geplant den Parameter "Stunde" variabel zu machen. D.H. es soll über eine Inputbox eingegeben werden ob das Programm nach Differenzen von 01:00:00 oder beispielsweise nur 00:45.00h suchen soll. Kannst du mir dabei auch weiterhelfen?

Viele Grüße


 

Beiträge aus den Excel-Beispielen zum Thema "Uhrzeiten / Stunden in Vba vergleichen"