VBA IsDate - Excel VBA IsDate İşlevi nasıl kullanılır?

Excel VBA IsDate İşlevi

IsDate , verilen değerin tarih olup olmadığını test eden VBA işlevidir. Sağlanan değer veya aralık referans değeri tarih değeri ise, sonucu "DOĞRU" olarak, değer tarih değeri değilse sonucu "YANLIŞ" olarak alacağız. Dolayısıyla sonuç BOOLEAN değeridir, yani DOĞRU veya YANLIŞ.

Aşağıda IsDate işlevinin sözdizimi verilmiştir.

İfade , tarih olsun ya da olmasın, test etmeye çalıştığımız değerden başka bir şey değildir.

VBA IsDate İşlevi nasıl kullanılır?

"5.01.19" değerinin bir tarih değeri olup olmadığını test edeceğiz.

Bu ilk başlangıç ​​için, excel makro prosedürü.

Kod:

Alt IsDate_Example1 () End Sub

Tarih değerini saklamak için değişkeni tanımlayın ve değer tarih değeri olacağından, veri türünü yalnızca "Tarih" olarak atayın.

Kod:

Alt IsDate_Example1 () Dim MyDate As Date End Sub

Şimdi "5.1.19" değerini "MyDate" değişkenine atayın.

Kod:

Alt IsDate_Example1 () Dim MyDate As Date MyDate = "5.1.19" End Sub

Mesaj kutusunu şimdi VBA'da açın.

Kod:

Alt IsDate_Example1 () Dim MyDate As Date MyDate = "5.1.19" MsgBox (End Sub

Bu mesaj kutusunda, "MyDate" değişkenine sağlanan tarih değerinin tarih olup olmadığını "IsDate" fonksiyonunu kullanarak test edeceğiz. İlk önce "IsDate" işlevini açın.

Kod:

Alt IsDate_Example1 () Dim MyDate As Date MyDate = "5.1.19" MsgBox IsDate (End Sub

İfade , Tarih olup olmadığını bulmak için test ettiğimiz değerdir. Değeri zaten "MyDate" değişkenine kaydettiğimiz için, yalnızca değişken adını sağlayın.

Kod:

Alt IsDate_Example1 () Dim MyDate As Date MyDate = "5.1.19" MsgBox IsDate (MyDate) End Sub

Tamam, şimdi kodu çalıştırın ve mesaj kutusuna ne aldığımızı görün.

Vay!!! Sonuç DOĞRUDUR .

Tarih olarak “5.1.19” değerini nasıl tanıdığını merak ediyor olmalısınız.

Sonucu DOĞRU olarak döndürmesinin nedeni, verilen "5.1.19" değerine baktığınızda, "05.01.2019" tarihinin kısa biçimidir, bu nedenle excel, onu tarih olarak tanıyacak kadar parlaktır. sonuç DOĞRUDUR.

Şimdi burada zor olan şey geliyor, aynı değer için yapacağımız şey, yılın kısa formunu 19'dan 2019'a değiştireceğiz.

Kod:

Alt IsDate_Example1 () Dim MyDate As String MyDate = "5.1.2019" MsgBox IsDate (MyDate) End Sub

Şimdi kodu çalıştırın ve sonucu görün.

Bu sefer sonucu YANLIŞ olarak döndürdü çünkü tarihin "gün ve ay" bölümü kısa biçimdedir, ancak yıl bölümü tam "YYYY" biçimindedir, bu nedenle ISDATE bir tarihe sahip olduğunu tanıyamaz, dolayısıyla sonuç yanlış.

Şimdi aşağıdaki koda bakın.

Kod:

Alt IsDate_Example1 () Dim MyDate As String MyDate = "05.01.2019" MsgBox IsDate (MyDate) End Sub

0 kullanarak tam gün ve tam ay formatından bahsetmiştim. Kodu çalıştıralım ve IsDate fonksiyonunun sonucunu görelim.

Bu sefer de sonucu YANLIŞ olarak aldık .

Şimdi kodu aşağıdaki gibi değiştirin.

Kod:

Alt IsDate_Example1 () Dim MyDate As String MyDate = "05/01/2019" MsgBox IsDate (MyDate) End Sub

Ayırıcı olarak nokta (.) Yerine, ayırıcı olarak eğik çizgi (/) girdik. Şimdi kodu çalıştırın ve sonucu görün.

Bu sefer sonucu DOĞRU olarak aldık .

Bu yüzden yazının başında “Tarih” hassas bir şeydir demiştim.

Şimdi yapacağım şey, tarih ve saati birleştireceğim.

Kod:

Alt IsDate_Example1 () Dim MyDate As String MyDate = "05/01/2019 15:26:24" MsgBox IsDate (MyDate) End Sub

Yukarıda eklediğim şey tarihin önüne “15:26:24” ün zaman kısmı. Şimdi kodu çalıştırın ve sonucu görün.

Bu sefer de sonucu DOĞRU olarak aldık çünkü excel'deki TARİH ve SAAT aynı şeylerdir ve seri numaraları olarak saklanır. Tam sayı tarih bölümünü temsil eder ve ondalık basamaklar zaman bölümünü temsil eder.

Burada Hatırlanması Gereken Şeyler

  • IsDate, Boole türü sonucunu döndürür, yani DOĞRU veya YANLIŞ.
  • IsDate yalnızca bir VBA işlevi olarak kullanılabilir.
  • Yalnızca geçerli biçimlendirilmiş tarihler tarih olarak kabul edilir, aksi takdirde metin değerleri olarak değerlendirilir ve sonucu YANLIŞ olarak döndürür.

Ilginç makaleler...