VBA DateDiff İşlevi

DateDiff Açıklama

Belirtilen aralığa göre iki tarih değeri arasındaki farkı döndürür.

Basit DateDiff Örnekleri

İşte basit bir DateDiff örneği:

123 Alt TarihDiff_Year()MsgBox DateDiff("yyyy", #1/1/2019#, #8/1/2021#)Alt Bitiş

Bu kod 2 değerini döndürür. Bu, yıldaki (“yyyy” ile gösterilen) 2 gün arasındaki farktır. (2021 - 2022 = 2)

Yukarıdaki örnekte, tarih1 ve tarih2 konumlarının değiştirilmesi.

123 Alt TarihDiff_Year()MsgBox DateDiff("yyyy", #8/1/2021#, #1/1/2019#)Alt Bitiş

Bu kod -2 döndürür.

DateDiff Sözdizimi

VBA Düzenleyicide, DateDiff İşlevinin sözdizimini görmek için “DateDiff(” yazabilirsiniz:

DateDiff işlevi 5 bağımsız değişken içerir:

Aralık: Zaman birimi (Günler, Aylar, Yıllar, vb.). Dize olarak girin. (ör. Ay için “m”)

Ayar Açıklama
yyyy Yıl
Q Çeyrek
m Ay
y Yılın Günü
NS Gün
w Hafta içi
ww Hafta
H Saat
n Dakika
s İkinci

Tarih1, Tarih2: Hesaplamada kullanmak istediğiniz iki tarih.

Haftanın ilk günü: Haftanın ilk gününü belirten bir sabit. Bu isteğe bağlıdır. Belirtilmezse Pazar olduğu varsayılır.

Devamlı Değer Açıklama
vbUseSystem 0 NLS API ayarını kullanın.
vbPazar 1 Pazar (varsayılan)
vbPazartesi 2 Pazartesi
vbTuesday 3 Salı
vbÇarşamba 4 Çarşamba
vbPerşembe 5 Perşembe
vbCuma 6 Cuma
vbCumartesi 7 Cumartesi

Yılın İlk Haftası: Yılın ilk haftasını belirten bir sabit. Bu isteğe bağlıdır. Belirtilmezse, ilk haftanın 1 Ocak'ın gerçekleştiği hafta olduğu varsayılır.

Devamlı Değer Açıklama
vbUseSystem 0 NLS API ayarını kullanın.
vbFirstJan1 1 1 Ocak'ın (varsayılan) gerçekleştiği hafta ile başlayın.
vbFirstFourDays 2 Yeni yılda en az dört günü olan ilk hafta ile başlayın.
vbFirstFullWeek 3 Yılın ilk tam haftasıyla başlayın.

VBA Programlama | Code Generator sizin için çalışıyor!

Excel VBA DateDiff İşlevi Örnekleri

Referans Tarihleri

Başlamak için, VBA DateDiff İşlevini kullanarak tarihlere başvurmanın farklı yollarını göstereceğiz.

Bu DateDiff işlevlerinin her biri aynı sonucu verir:

123456789 Sub DateDiff_ReferenceDates()MsgBox DateDiff("m", #4/1/2019#, #8/1/2021#)MsgBox DateDiff("m", DateSerial(2019, 4, 1), DateSerial(2021, 8, 1))MsgBox DateDiff("m", DateValue("1 Nisan 2022"), DateValue("1 Ağustos 2022"))Alt Bitiş

Veya tarihleri ​​içeren hücrelere başvurabilirsiniz:

12345 Sub DateDiff_ReferenceDates_Cell()MsgBox DateDiff("m", Range("C2").Value, Range("C3").Value)Alt Bitiş

Veya tarih değişkenleri oluşturun ve bunlara referans verin:

123456789 Alt DateDiff_Variable()Dim dt1 As Tarih, dt2 As Tarihdt1 = #4/1/2019#dt2 = #8/1/2021#MsgBox DateDiff("m", dt1, dt2)Alt Bitiş

VBA Kodu Örnekleri Aramaktan Bıktınız mı? AutoMacro'yu deneyin!

Farklı Aralık Birimlerini Kullanma

Çeyrek

123 Sub DateDiff_Quarter()MsgBox "çeyrek sayısı: " & DateDiff("q", #1/1/2019#, #1/1/2021#)Alt Bitiş

ay

123 Alt TarihDiff_Month()MsgBox "ay sayısı: " & DateDiff("m", #1/1/2019#, #1/1/2021#)Alt Bitiş

Günler

123 Alt TarihDiff_Day()MsgBox "gün sayısı: " & DateDiff("d", #1/1/2019#, #1/1/2021#)Alt Bitiş

Haftalar

123 Sub DateDiff_Week()MsgBox "hafta sayısı: " & DateDiff("w", #1/1/2019#, #1/1/2021#)Alt Bitiş

Saat

123456789101112 Alt TarihDiff_Hour()Dim dt1 As TarihDim dt2 As TarihDim nDiff As Longdt1 = #8/14/2019 9:30:00 AM#dt2 = #8/14/2019 1:00:00 PM#nDiff = DateDiff("h", dt1, dt2)MsgBox "saat:" & nDiffAlt Bitiş

dakika

123 Alt TarihDiff_Dakika()MsgBox "mins: " & DateDiff("n", #8/14/2019 9:30:00 AM#, #8/14/2019 09:35:00 AM#)Alt Bitiş

saniye

123 Alt TarihDiff_Second()MsgBox "secs: " & DateDiff("s", #8/14/2019 09:30:10 AM#, #8/14/2019 09:30:22 AM#)Alt Bitiş

Arkadaşlarınızla sayfasını paylaşan sitenin gelişimine yardımcı olacak

wave wave wave wave wave