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 VBAKami 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.