Vba: hücrenin tarih olup olmadığını kontrol etmek için isdate nasıl kullanılır?


Belirli bir hücrenin tarih olup olmadığını kontrol etmek için VBA’daki IsDate işlevini kullanabilirsiniz.

Belirli bir hücredeki değer tarih olarak tanınırsa bu işlev True değerini döndürür.

Aksi takdirde fonksiyon False sonucunu döndürür.

Bu işlevi pratikte kullanmanın yaygın bir yolu aşağıda verilmiştir:

 SubCheckDate ()
    
Dim i As Integer

For i = 1 To 9
    
    If IsDate(Range(" A " & i)) = True Then
        Range(" B " & i) = " Is a Date "
    Else
        Range(" B " & i) = " Is Not a Date "
    End If
Next i
    
End Sub

Bu özel makro, A1:A9 aralığındaki her hücrenin bir tarih olup olmadığını kontrol edecektir.

Bir hücre bir tarihse, B1:B9 aralığında karşılık gelen hücrede “Tarihtir” ifadesi döndürülür.

Hücre tarih değilse bunun yerine “Tarih değil” ifadesi döndürülür.

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

Örnek: VBA’da IsDate nasıl kullanılır?

Excel’de aşağıdaki değer sütununa sahip olduğumuzu varsayalım:

A sütunundaki her hücrenin bir tarih olup olmadığını kontrol etmek istediğimizi varsayalım.

Bunun için aşağıdaki makroyu oluşturabiliriz:

 SubCheckDate ()
    
Dim i As Integer

For i = 1 To 9
    
    If IsDate(Range(" A " & i)) = True Then
        Range(" B " & i) = " Is a Date "
    Else
        Range(" B " & i) = " Is Not a Date "
    End If
Next i
    
End Sub

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

B Sütunu bize A sütunundaki eşleşen her hücrenin tarih olarak tanınıp tanınmayacağını söyler.

“Tarihtir” veya “Tarih değildir” ifadesini döndürmeyi seçtiğimizi, ancak If Else ifadesini kullanarak istediğinizi döndürebileceğinizi unutmayın.

Not : VBA IsDate işlevine ilişkin tüm belgeleri burada bulabilirsiniz.

Ek kaynaklar

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

VBA: Tarihten ay adı nasıl alınır
VBA: DateValue işlevi nasıl kullanılır?
VBA: Sayı tarihten büyük

Yorum ekle

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