Fungsi VBA IsDate

Fungsi Excel VBA IsDate

IsDate adalah fungsi VBA yang menguji sama ada nilai yang diberikan adalah tarikh atau tidak. Sekiranya nilai rujukan atau nilai rujukan yang dibekalkan adalah nilai tarikh maka kita akan mendapat hasilnya sebagai "BENAR", jika nilai itu bukan nilai tarikh maka kita akan mendapatkan hasilnya sebagai "SALAH". Jadi, hasilnya adalah nilai BOOLEAN iaitu BENAR atau SALAH.

Berikut adalah sintaks fungsi IsDate.

Ungkapan tidak lain adalah nilai yang cuba kita uji sama ada tarikhnya atau tidak.

Bagaimana cara menggunakan Fungsi Isdate VBA?

Anda boleh memuat turun Templat VBA IsDate Excel ini di sini - Templat VBA IsDate Excel

Kami akan menguji sama ada nilai "5.01.19" adalah nilai tarikh atau tidak.

Untuk ini mulakan prosedur makro excel.

Kod:

 Sub IsDate_Contoh1 () Akhir Sub 

Tentukan pemboleh ubah untuk menyimpan nilai tarikh dan kerana nilainya akan menjadi nilai tarikh tetapkan jenis data sebagai "Tarikh" sahaja.

Kod:

 Sub IsDate_Example1 () Dim MyDate Sebagai Tarikh Akhir Sub 

Sekarang tetapkan nilai "5.1.19" ke pemboleh ubah "MyDate".

Kod:

 Sub IsDate_Example1 () Dim MyDate Seperti Tarikh MyDate = "5.1.19" Akhir Sub 

Buka kotak mesej di VBA sekarang

Kod:

 Sub IsDate_Example1 () Dim MyDate Seperti Tarikh MyDate = "5.1.19" MsgBox (Sub Akhir 

Dalam kotak mesej ini, kami akan menguji sama ada nilai tarikh yang dibekalkan kepada pemboleh ubah "MyDate" adalah tarikh atau tidak dengan menggunakan fungsi "IsDate". Pertama, buka fungsi "IsDate".

Kod:

 Sub IsDate_Example1 () Dim MyDate Seperti Tarikh MyDate = "5.1.19" MsgBox IsDate (Sub Akhir 

Ungkapan adalah nilai yang sedang kita uji untuk mengetahui sama ada Tarikh atau tidak. Oleh kerana kita sudah menyimpan nilai ke pemboleh ubah "MyDate" berikan nama pemboleh ubah sahaja.

Kod:

 Sub IsDate_Example1 () Dim MyDate Seperti Tarikh MyDate = "5.1.19" MsgBox IsDate (MyDate) Akhir Sub 

Ok, sekarang jalankan kod dan lihat apa yang kita dapat di kotak mesej.

Wah !!! Hasilnya adalah BENAR .

Anda pasti tertanya-tanya bagaimana ia mengenali nilai "5.1.19" sebagai tarikh.

Alasan mengapa ia mengembalikan hasilnya sebagai BENAR kerana apabila anda melihat nilai yang diberikan "5.1.19" itu adalah bentuk singkat dari tanggal "05.01.2019" jadi excel cukup cemerlang untuk mengenalinya sebagai tarikh, jadi hasilnya betul.

Sekarang inilah yang sukar, kerana nilai yang sama yang akan kita lakukan adalah kita akan mengubah bentuk pendek tahun ini dari 19 hingga 2019.

Kod:

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

Sekarang jalankan kod dan lihat hasilnya.

Kali ini ia telah mengembalikan hasilnya sebagai PALSU kerana bahagian "hari dan bulan" dalam bentuk pendek tetapi bahagian tahun dalam bentuk penuh "YYYY" jadi ISDATE tidak dapat mengenali bahawa ia mempunyai tarikh sehingga hasilnya SALAH.

Sekarang, lihat kod di bawah.

Kod:

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

Saya telah menyebut format hari penuh dan bulan penuh dengan menggunakan 0, mari kita jalankan kod dan lihat hasil fungsi IsDate.

Kali ini juga kita pergi mendapat hasilnya SALAH .

Sekarang ubah kodnya seperti berikut.

Kod:

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

Daripada titik (.) Sebagai pemisah, kami memasukkan garis miring ke depan (/) sebagai pemisah. Sekarang jalankan kod dan lihat hasilnya.

Kali ini kami mendapat hasilnya sebagai BENAR .

Inilah sebabnya saya telah memberitahu anda pada awal artikel bahawa "Tarikh" adalah perkara sensitif.

Sekarang apa yang akan saya lakukan ialah saya menggabungkan tarikh dan masa bersama.

Kod:

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

Yang saya tambahkan di atas adalah bahagian waktu "15:26:24" di hadapan tarikh. Sekarang jalankan kod dan lihat hasilnya.

Kali ini juga kami mendapat hasilnya BENAR kerana TARIKH & MASA dalam excel adalah perkara yang sama dan disimpan sebagai nombor siri. Nombor bulat mewakili bahagian tarikh dan tempat perpuluhan mewakili bahagian masa.

Perkara yang Perlu Diingat di sini

  • IsDate mengembalikan hasil jenis Boolean iaitu BENAR atau SALAH.
  • IsDate hanya tersedia sebagai fungsi VBA.
  • Hanya tarikh berformat yang sah yang dianggap sebagai tarikh atau sebaliknya akan dianggap sebagai nilai teks dan mengembalikan hasilnya sebagai SALAH.