EXCEL VBA'DA ISDATE FONKSİYONU


 VBA IsDate işlevi, bir ifadenin geçerli bir tarih olup olmadığını belirlemek için kullanılabilir. İfadenin meşru bir tarihe dönüştürülüp dönüştürülemeyeceğine bağlı olarak bir Boole değeri (True veya False) döndürür. Bu özellik, özellikle kullanıcı girişi veya veri içe aktarımlarıyla çalışırken yararlı olan, tarih değerlerinin işlenmeden önce doğru şekilde biçimlendirildiğinden emin olmaya yardımcı olur. Bir örneğe bakalım. CheckDateValidity adlı bir VBA alt rutinimiz var. Kullanıcı tarafından girilen bir tarihin geçerli olarak yorumlanıp yorumlanamayacağını belirlemek için kullanılır.


Excel VBA IsDate İşlevi 1

Kod çalıştığında, kullanıcıya bir tarih girmesini isteyen bir giriş kutusu görüntülenir ve bu tarih daha sonra  userInput  değişkenine kaydedilir. Kod daha sonra userInput'a  girilen değerin  geçerli bir tarih olup olmadığını belirlemek için VBA IsDate işlevini kullanır.

Excel VBA IsDate İşlevi 1-1

Bu amaçla tasarlanmış VBA IsDate fonksiyonu, girdi geçerli bir tarih olarak tanınıyorsa True, tanınmıyorsa False değerini döndürür.

Son olarak, değerlendirmenin sonucu kullanıcıya bir mesaj kutusunda gösterilerek anında geri bildirim sağlanır. Excel VBA'da tarih girdilerinin hızlı bir şekilde doğrulanmasını kolaylaştırmak için, girdi geçerli bir tarihse mesaj kutusu "True" ve değilse "False" görüntüler.

Excel VBA IsDate İşlevi 1-2

ÖNEMLİ NOKTALAR

  1. VBA IsDate fonksiyonu, standart sistem tarih biçimini bir kılavuz olarak kullanarak bir ifadenin geçerli bir tarih sağlayıp sağlamadığını belirler.
  2. VBA IsDate fonksiyonu, ifade geçerli bir tarih ise True değerini, değilse False değerini döndürür.
  3. VBA IsDate fonksiyonunu kullanırken sistemin varsayılan tarih biçimini, bölgesel ayarları ve ifadedeki tarih ve saat bileşenlerinin olasılığını göz önünde bulundurun.
  4. Basit biçim kontrollerinin ötesinde, tarihlerin mantıksal doğruluğunu garanti altına almak için daha fazla doğrulama gerekebilir.

Sözdizimi

IsDate fonksiyonunun sözdizimi şöyledir:

IsDate(İfade)

İfade: Bu, meşru bir tarih olarak doğrulamak istediğiniz değer veya ifadedir. İşlevin gerekli olan tek bileşenidir. Bir hücre başvurusu, bir değişken veya bir sabit ifade olarak kullanılabilir.

Daha basit bir ifadeyle:

  • IsDate: Fonksiyonun adı.
  • İfade: Geçerli bir tarih olup olmadığını kontrol etmek istediğiniz değer veya veri.

İfade, ifadenin geçerli bir tarih olarak anlaşılabilmesi durumunda “True”, aksi takdirde “False” değerini döndüren VBA IsDate fonksiyonu tarafından değerlendirilir.

VBA IsDate Fonksiyonu Nasıl Kullanılır?

VBA'da IsDate işlevini kullanmak basittir. İzlenecek adımlar şunlardır:

Adım 1: Excel'i açın ve VBA düzenleyicisini açmak için ALT + F11 tuşlarına basın.

VBA IsDate Fonksiyonu Nasıl Kullanılır 1

Adım 2: Menüde “Ekle”ye tıklayıp “Modül”ü seçerek yeni bir modül ekleyin.

VBA IsDate Fonksiyonu Nasıl Kullanılır 1-1

Adım 3: Yeni modülde bir alt rutin oluşturun ve kullanacağınız tüm değişkenleri bildirin. VBA IsDate işlevi durumunda, genellikle kullanıcı girdisini veya tarih olarak kontrol etmek istediğiniz değeri depolamak için bir değişken bildirirsiniz.

Örneğin:

Dim userInput'u Dize Olarak

Adım 4: Tanımladığınız değişkene bir değer atayın. Bu değer genellikle kullanıcı girdisinden veya bazı veri kaynaklarından elde edilir.

İşte VBA'da kullanıcıdan girdi almak için bir giriş kutusu kullanma örneği:

userInput = InputBox(“Bir tarih girin:”)

Adım 5: Değişkeninizdeki değerin geçerli bir tarih olup olmadığını kontrol etmek için VBA IsDate fonksiyonunu kullanın.

Örneğin:

If IsDate(userInput) Then

Adım 6: If ifadesinin içine, değerin geçerli bir tarih olması durumunda (True koşulu) ve olmaması durumunda (False koşulu) ne olacağını kodlayabilirsiniz.

Örneğin;

    MsgBox userInput & ” is a valid date.”

Else

    MsgBox userInput & ” is not a valid date.”

End If

Adım 7: Çalışma kitabınızı kaydedin ve VBA düzenleyicisini kapatın. Kodu F5'e basarak veya "Çalıştır"a tıklayarak çalıştırabilirsiniz.


Örnekler

Örnek 1 – Temel Tarih Doğrulaması

Bu örnekte, “12/31/2023” dizesinin geçerli bir tarih olup olmadığını kontrol ediyoruz; öyle ve böylece “12/31/2023 geçerli bir tarihtir” mesajı görüntülenecektir.

Adım 1: Yeni modülde ilk olarak BasicDateValidation adında bir VBA alt rutini tanımlıyoruz.

VBA IsDate Fonksiyonu - Örnek 1

Adım 2: Sonra, dateValue adlı bir değişkeni VBA String veri türü olarak bildiriyoruz. Bu değişken, kontrol etmek istediğimiz tarihi depolayacaktır. Bu durumda, dateValue'ye "12/31/2023" değerini atıyoruz.

VBA IsDate İşlevi - Örnek 1-1

Adım 3: Bu satır bir If ifadesi başlatır. IsDate(dateValue) ifadesinin True olarak değerlendirilip değerlendirilmediğini kontrol eder. IsDate, dateValue içindeki değerin geçerli bir tarih olup olmadığını kontrol eden bir fonksiyondur.

VBA IsDate İşlevi - Örnek 1-2

Adım 4: If ifadesindeki koşul True ise (yani, dateValue geçerli bir tarihse), bu kod bloğu yürütülür. dateValue'nin geçerli bir tarih olduğunu belirten mesajın bulunduğu bir mesaj kutusu görüntüler.

VBA IsDate İşlevi - Örnek 1-3

Adım 5: If ifadesinin koşulu False ise bu kod bloğu yürütülür, yani dateValue geçersiz bir tarihtir. DateValue geçerli bir tarih değildir, görüntülenen mesaj kutusu tarafından belirtilir.

VBA IsDate İşlevi - Örnek 1-4

Adım 6: Şimdi, VBA makrosunu kaydedin ve çalıştır'a tıklayın. Bu kod yürütüldüğünde, "12/31/2023" dizesinin geçerli bir tarih olup olmadığını belirler ve bu bilgiyle bir mesaj kutusu gösterir.

VBA IsDate İşlevi - Örnek 1-5

İşte kodun tamamı:

Sub BasicDateValidation()

    Dim dateValue As String

    dateValue = “12/31/2023”

    If IsDate(dateValue) Then

        MsgBox dateValue & ” is a valid date.”

    Else

        MsgBox dateValue & ” is not a valid date.”

    End If

End Sub


Örnek 2 – Geçersiz Tarih Kontrolü

Bu örnekte, varsayılan sistem biçiminde geçerli olmayan bir tarihi ("31/21/2023") bilerek kullanıyoruz. IsDate işlevi False değerini döndürecek ve "31/21/2023 geçerli bir tarih değil" mesajı görüntülenecektir.

Adım 1: Verilen bir tarihin (geçersiz formatta) geçerli olup olmadığını kontrol etmek için InvalidDateCheck adında yeni bir alt rutin bildiriyoruz.

VBA IsDate Fonksiyonu - Örnek 2

Adım 2: Sonra, kontrol edilecek tarihi depolamak için bir değişken olan validDate  bildiriyoruz  . Bu durumda, default sistem biçiminde geçerli olmayan bir biçimde olan validDate'e "31/21/2023" değerini atıyoruz  .

VBA IsDate İşlevi - Örnek 2-1

Adım 3: Burada, IsDate(invalidDate) ifadesinin True olup olmadığını kontrol eden bir If ifadesi başlatıyoruz. Bu, invalidDate ifadesinin geçerli bir tarih olarak yorumlanıp yorumlanamayacağını değerlendirir.

VBA IsDate İşlevi - Örnek 2-2

Adım 4: If ifadesindeki koşul True ise, bu kod bloğu yürütülür. Bu, geçersizTarih'in geçerli bir tarih olduğunu belirten bir mesaj içeren bir mesaj kutusu görüntüler.

VBA IsDate İşlevi - Örnek 2-3

Adım 5: If ifadesindeki koşul False ise, bu kod bloğu yürütülür. Bu, geçersizTarih'in geçerli bir tarih olmadığını belirten mesajın bulunduğu bir mesaj kutusu görüntüler.

VBA IsDate İşlevi - Örnek 2-4

Adım 6: Şimdi, bu kodu çalıştırdığınızda, VBA IsDate fonksiyonunun çıktısına dayanarak “31/21/2023” dizesinin geçerli bir tarih olup olmadığı belirlenir ve geçerli olup olmadığını belirten bir mesaj kutusu gösterilir.

VBA IsDate İşlevi - Örnek 2-5

İşte tam kod:

Sub InvalidDateCheck()

    Dim invalidDate As String

    invalidDate = “31/21/2023”

    If IsDate(invalidDate) Then

        MsgBox invalidDate & ” is a valid date.”

    Else

        MsgBox invalidDate & ” is not a valid date.”

    End If

End Sub


Örnek 3 – Tarih ve Saat

Bu örnekte, “12/31/2023 14:30:00” dizesinin geçerli bir tarih ve saati temsil edip etmediğini kontrol ediyoruz. IsDate işlevi, hem tarih hem de saat bileşenlerini işleyebildiği için True değerini döndürecektir.

Adım 1: İlk olarak “DateWithTimeCheck” adında yeni bir alt rutin tanımlıyoruz.

VBA IsDate Fonksiyonu - Örnek 3

Adım 2: Sonra, kontrol edilecek tarih ve saati depolamak için bir dateTimeValue değişkeni bildiriyoruz. Bu durumda, dateTimeValue'ya “12/31/2023 14:30:00” değerini atıyoruz.

VBA IsDate İşlevi - Örnek 3-1

Adım 3: Bu satır , VBA'da IsDate(dateTimeValue) ifadesinin True olup olmadığını kontrol eden bir If-Else ifadesi başlatır. dateTimeValue'nin geçerli bir tarih ve saat olarak yorumlanıp yorumlanamayacağını kontrol eder.

VBA IsDate İşlevi - Örnek 3-2

Adım 4: If ifadesindeki koşul True ise, bu kod bloğu yürütülür. dateTimeValue'nun geçerli bir tarih ve saat olduğunu belirten mesajın bulunduğu bir mesaj kutusu görüntüler.

VBA IsDate İşlevi - Örnek 3-3

Adım 5: If ifadesindeki koşul False ise, bu kod bloğu yürütülür. Ancak, geçerli bir tarih ve saat sağladığımız için bu özel durumda buna ulaşılmamalıdır.

VBA IsDate İşlevi - Örnek 3-4

Adım 6: Şimdi kodu kaydedip çalıştıralım.

Bu kod çalıştığında, hem tarih hem de saat bileşenlerini içeren “12/31/2023 14:30:00″” dizesinin geçerli bir tarih ve saat olup olmadığını belirler. VBA IsDate işlevinin çıktısına dayanarak, tarih ve saatin geçerli olup olmadığını belirten bir ileti kutusu görüntüler.

VBA IsDate İşlevi - Örnek 3-5

İşte tam kod:

Sub DateWithTimeCheck()

    Dim dateTimeValue As String

    dateTimeValue = “12/31/2023 14:30:00”

       If IsDate(dateTimeValue) Then

        MsgBox dateTimeValue & ” is a valid date and time.”

    Else

        MsgBox dateTimeValue & ” is not a valid date and time.”

    End If

End Sub

Yorum Gönder

DT KARİYER KPSS Dünyasına Hoş Geldiniz
Sevgili dostum nasıl yardımcı olabilirim?
Bu alana yazınız...