Vba'da tarihler nasıl karşılaştırılır (örneklerle)
İki tarihi karşılaştırmak için VBA’da aşağıdaki temel sözdizimini kullanabilirsiniz:
SubCompareDates ()
Dim i As Integer
For i = 2 To 5
If CDate(Range(" A " & i)) < CDate(Range(" B " & i)) Then
Result = " First Date is Earlier "
Else
If CDate(Range(" A " & i)) > CDate(Range(" B " & i)) Then
Result = “ First Date is Later ”
Else
Result = " Dates Are Equal "
End If
End If
Range(" C " & i) = Result
Next i
End Sub
Bu özel örnek, A2:A5 ve B2:B5 aralığındaki karşılık gelen hücrelerdeki tarihleri karşılaştıracak ve C2:C5 aralığındaki tarih karşılaştırmalarının sonucunu döndürecektir.
Not : CDate işlevi, belirli bir hücrenin değerini tarihe dönüştürür.
Aşağıdaki örnek, bu sözdiziminin pratikte nasıl kullanılacağını gösterir.
Örnek: VBA’daki tarihleri karşılaştırın
Excel’de tarih içeren aşağıdaki iki sütuna sahip olduğumuzu varsayalım:
Eşleşen her satırdaki tarihleri karşılaştırmak ve tarih karşılaştırma sonuçlarını C sütununda görüntülemek istediğimizi varsayalım.
Bunun için aşağıdaki makroyu oluşturabiliriz:
SubCompareDates ()
Dim i As Integer
For i = 2 To 5
If CDate(Range(" A " & i)) < CDate(Range(" B " & i)) Then
Result = " First Date is Earlier "
Else
If CDate(Range(" A " & i)) > CDate(Range(" B " & i)) Then
Result = “ First Date is Later ”
Else
Result = " Dates Are Equal "
End If
End If
Range(" C " & i) = Result
Next i
End Sub
Bu makroyu çalıştırdığımızda aşağıdaki çıktıyı alıyoruz:
Tarih karşılaştırmalarının sonuçları artık C sütununda görüntüleniyor.
Ek kaynaklar
Aşağıdaki eğitimlerde VBA’da diğer ortak görevlerin nasıl gerçekleştirileceği açıklanmaktadır:
VBA: Bir sayfayı birden çok sütuna göre sıralama
VBA: Aralıktaki satır sayısı nasıl sayılır?
VBA: bir sütunun nasıl filtreleneceği