Jak obliczyć różnicę czasu w vba (z przykładami)


Aby obliczyć różnicę między dwoma czasami, możesz użyć następującej podstawowej składni w VBA:

 Sub FindTimeDifference()
    
    Dim i As Integer

    For i = 2 To 7
        'calculate time difference in days
        Range(" C " & i) = Range(" B " & i) - Range(" A " & i)
        
        'calculate time difference in hours
        Range(" D " & i) = (Range(" B " & i) - Range(" A " & i)) * 24
        
        'calculate time difference in minutes
        Range(" E " & i) = (Range(" B " & i) - Range(" A " & i)) * 24 * 60
        
        'calculate time difference in seconds
        Range(" F " & i) = (Range(" B " & i) - Range(" A " & i)) * 24 * 60 * 60
    Next i
    
End Sub

To konkretne makro obliczy różnicę między odpowiednimi czasami w zakresach A2:A7 i B2:B7 i zwróci następujące wyniki:

  • C2:C7 będzie zawierać różnicę czasu w dniach
  • D2:D7 będzie zawierać różnicę czasu w godzinach
  • E2:E7 będzie zawierać różnicę czasu w minutach
  • F2:F7 będzie zawierać różnicę czasu w sekundach

Poniższy przykład pokazuje, jak zastosować tę składnię w praktyce.

Przykład: Oblicz różnicę czasu w VBA

Załóżmy, że w programie Excel mamy następujące dwie kolumny czasu rozpoczęcia i zakończenia:

Możemy utworzyć następujące makro, aby obliczyć różnicę czasu między każdą godziną rozpoczęcia i zakończenia i wyświetlić wyniki w kolumnach od C do F:

 Sub FindTimeDifference()
    
    Dim i As Integer

    For i = 2 To 7
        'calculate time difference in days
        Range(" C " & i) = Range(" B " & i) - Range(" A " & i)
        
        'calculate time difference in hours
        Range(" D " & i) = (Range(" B " & i) - Range(" A " & i)) * 24
        
        'calculate time difference in minutes
        Range(" E " & i) = (Range(" B " & i) - Range(" A " & i)) * 24 * 60
        
        'calculate time difference in seconds
        Range(" F " & i) = (Range(" B " & i) - Range(" A " & i)) * 24 * 60 * 60
    Next i
    
End Sub

Kiedy uruchomimy to makro, otrzymamy następujące dane wyjściowe:

VBA oblicza różnicę czasu

Kolumny od C do F wyświetlają różnicę czasu pomiędzy czasem rozpoczęcia i zakończenia w różnych jednostkach.

Dodatkowe zasoby

Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania w VBA:

Jak porównać daty w VBA
Jak obliczyć dni między dwiema datami w VBA
Jak przekonwertować ciąg znaków na bieżąco w VBA

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *