Fungsi IsDate VBA

Fungsi IsDate VBA Excel

IsDate adalah fungsi VBA yang menguji apakah nilai yang diberikan adalah tanggal atau bukan. Jika nilai yang diberikan atau nilai referensi range adalah nilai tanggal maka kita akan mendapatkan hasil sebagai "TRUE", jika nilainya bukan nilai tanggal maka kita akan mendapatkan hasil sebagai "FALSE". Jadi, hasilnya adalah nilai BOOLEAN, yaitu TRUE atau FALSE.

Di bawah ini adalah sintaks dari fungsi IsDate.

Ekspresi tidak lain adalah nilai yang kita coba uji apakah itu tanggal atau bukan.

Bagaimana cara menggunakan Fungsi IsDate VBA?

Anda dapat mengunduh Template Excel IsDate VBA ini di sini - Template Excel IsDate VBA

Kami akan menguji apakah nilai "5.01.19" adalah nilai tanggal atau bukan.

Untuk ini, mulailah pertama prosedur makro excel.

Kode:

 Sub IsDate_Example1 () End Sub 

Tentukan variabel untuk menyimpan nilai tanggal dan karena nilainya akan menjadi nilai tanggal, tetapkan jenis data sebagai "Tanggal" saja.

Kode:

 Sub IsDate_Example1 () Redupkan MyDate Sebagai Tanggal Akhir Sub 

Sekarang tetapkan nilai "5.1.19" ke variabel "MyDate".

Kode:

 Sub IsDate_Example1 () Redupkan MyDate Sebagai Tanggal MyDate = "5.1.19" End Sub 

Buka kotak pesan di VBA sekarang

Kode:

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

Di kotak pesan ini, kita akan menguji apakah nilai tanggal yang diberikan ke variabel "MyDate" adalah tanggal atau tidak dengan menggunakan fungsi "IsDate". Pertama, buka fungsi "IsDate".

Kode:

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

Ekspresi adalah nilai yang kita uji untuk menemukan apakah itu Tanggal atau bukan. Karena kita telah menyimpan nilai ke variabel "MyDate", berikan nama variabel saja.

Kode:

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

Ok, sekarang jalankan kodenya dan lihat apa yang kita dapatkan di kotak pesan.

Wow!!! Hasilnya BENAR .

Anda pasti bertanya-tanya bagaimana ia mengenali nilai "5.1.19" sebagai tanggal.

Alasan mengapa itu mengembalikan hasil sebagai BENAR karena ketika Anda melihat nilai yang diberikan "5.1.19" itu adalah bentuk singkat dari tanggal "05.01.2019" jadi excel cukup brilian untuk mengenalinya sebagai tanggal, jadi hasilnya adalah benar.

Sekarang inilah hal yang sulit, untuk nilai yang sama yang akan kami lakukan adalah kami akan mengubah bentuk pendek tahun ini dari 19 menjadi 2019.

Kode:

 Sub IsDate_Example1 () Redupkan MyDate Sebagai String MyDate = "5.1.2019" MsgBox IsDate (MyDate) End Sub 

Sekarang jalankan kodenya dan lihat hasilnya.

Kali ini mengembalikan hasil sebagai FALSE karena bagian “hari dan bulan” dari tanggal tersebut pendek namun bagian tahun dalam bentuk penuh “YYYY” sehingga ISDATE tidak dapat mengenalinya sehingga memiliki tanggal sehingga hasilnya FALSE.

Sekarang, lihat kode di bawah ini.

Kode:

 Sub IsDate_Example1 () Redupkan MyDate Sebagai String MyDate = "05.01.2019" MsgBox IsDate (MyDate) End Sub 

Saya telah menyebutkan format full day dan full month dengan menggunakan 0, mari kita jalankan kode dan lihat hasil dari fungsi IsDate.

Kali ini juga kita mendapatkan hasil sebagai SALAH .

Sekarang ubah kodenya sebagai berikut.

Kode:

 Sub IsDate_Example1 () Redupkan MyDate Sebagai String MyDate = "05/01/2019" MsgBox IsDate (MyDate) End Sub 

Alih-alih titik (.) Sebagai pemisah, kami telah memasukkan garis miring (/) sebagai pemisah. Sekarang jalankan kodenya dan lihat hasilnya.

Kali ini kami mendapatkan hasil sebagai BENAR .

Inilah alasan saya memberi tahu Anda di awal artikel bahwa "Tanggal" adalah hal yang sensitif.

Sekarang yang akan saya lakukan adalah menggabungkan tanggal dan waktu bersama.

Kode:

 Sub IsDate_Example1 () Redupkan MyDate Sebagai String MyDate = "05/01/2019 15:26:24" MsgBox IsDate (MyDate) End Sub 

Apa yang telah saya tambahkan di atas adalah bagian waktu "15:26:24" di depan tanggal. Sekarang jalankan kodenya dan lihat hasilnya.

Kali ini juga kami mendapatkan hasil sebagai BENAR karena TANGGAL & WAKTU di excel adalah hal yang sama dan disimpan sebagai nomor seri. Seluruh angka mewakili bagian tanggal dan tempat desimal mewakili bagian waktu.

Hal-hal yang Perlu Diingat di sini

  • IsDate mengembalikan hasil jenis Boolean, yaitu TRUE atau FALSE.
  • IsDate hanya tersedia sebagai fungsi VBA.
  • Hanya tanggal valid yang diformat yang diperlakukan sebagai tanggal atau akan diperlakukan sebagai nilai teks dan mengembalikan hasilnya sebagai FALSE.