Vba'da zaman farkı nasıl hesaplanır (örneklerle)


İki zaman arasındaki farkı hesaplamak için VBA’da aşağıdaki temel sözdizimini kullanabilirsiniz:

 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

Bu özel makro, A2:A7 ve B2:B7 aralıklarındaki karşılık gelen zamanlar arasındaki farkı hesaplayacak ve aşağıdaki sonuçları döndürecektir:

  • C2:C7 gün cinsinden zaman farkını içerecektir
  • D2:D7 saat cinsinden zaman farkını içerecektir
  • E2:E7 dakika cinsinden zaman farkını içerecektir
  • F2:F7 saniye cinsinden zaman farkını içerecektir

Aşağıdaki örnek, bu sözdiziminin pratikte nasıl kullanılacağını gösterir.

Örnek: VBA’da Zaman Farkını Hesaplama

Excel’de aşağıdaki iki başlangıç ve bitiş zamanı sütununa sahip olduğumuzu varsayalım:

Her başlangıç ve bitiş zamanı arasındaki zaman farkını hesaplamak ve sonuçları C’den F’ye kadar olan sütunlarda görüntülemek için aşağıdaki makroyu oluşturabiliriz:

 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

Bu makroyu çalıştırdığımızda aşağıdaki çıktıyı alıyoruz:

VBA zaman farkını hesaplar

C’den F’ye kadar olan sütunlar, başlangıç ve bitiş saatleri arasındaki zaman farkını farklı birimlerde görüntüler.

Ek kaynaklar

Aşağıdaki eğitimlerde VBA’da diğer ortak görevlerin nasıl gerçekleştirileceği açıklanmaktadır:

VBA’da tarihler nasıl karşılaştırılır
VBA’da iki tarih arasındaki günler nasıl hesaplanır
VBA’da dizeyi tarihe dönüştürme

Yorum ekle

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir