VBA menyimpan tanggal sebagai jumlah hari sejak 30 Desember 1899.
Kredit Gambar: Sergii Gnatiuk/iStock/Getty Images
Membandingkan tanggal di Microsoft Visual Basic for Applications tidak berbeda dengan membandingkan tipe data lainnya. Nilai yang Anda bandingkan harus bertipe "Tanggal". Anda dapat menggunakan operator perbandingan standar: "" untuk "lebih besar dari"; ">=" untuk "lebih besar dari atau sama dengan"; "=" untuk "sama dengan"; dan "<>" untuk "tidak sama dengan." Anda juga dapat menggunakan dua operator perbandingan, "Is" dan "IsNot."
Jenis Tanggal VBA
Sangat membantu untuk mengingat bagaimana VBA menyimpan nilai tanggal dalam memori saat Anda membandingkan tanggal. Tanggal disimpan sebagai angka floating point presisi ganda, atau Double. Bagian bilangan bulat panjang adalah jumlah hari, positif atau negatif, sejak 30 Desember 1899. Bagian desimal adalah jumlah waktu yang telah berlalu sejak tengah malam. Tanggal tanpa waktu memiliki bagian desimal yang disetel ke nol. Misalnya, 1 Mei 1967 disimpan sebagai 24593.0. Ini berarti bahwa ketika VBA membandingkan dua tanggal, sebenarnya membandingkan dua angka yang mewakili hari.
Video Hari Ini
String Karakter Vs. Tanggal
Saat Anda membandingkan tanggal di VBA, Anda harus memastikan bahwa nilai yang Anda bandingkan memiliki tipe "Tanggal" dan bukan string karakter. Misalnya, string karakter "05/01/1999" lebih kecil dari string karakter "31/12/1900" karena "05" datang sebelum "12." Mengonversi string karakter menjadi tipe tanggal menggunakan fungsi "CDate", misalnya, "CDate (Kotak teks. Nilai)".
Fungsi Bermanfaat
Selain CDate(), ada fungsi bermanfaat lainnya yang mungkin Anda gunakan saat membandingkan tanggal. Fungsi "Date()" menyediakan tanggal hari ini sebagai nilai Date. Fungsi "Sekarang ()" menyediakan tanggal dan waktu hari ini sebagai nilai Tanggal. Karena tipe data Tanggal juga menyertakan komponen waktu, Anda hanya dapat mengekstrak bagian tanggal dari suatu variabel saat membandingkan tanggal dengan menggunakan fungsi "DateValue()", misalnya, "Jika penyerahan > DateValue (batas waktu) Kemudian ..."
Aritmatika Tanggal
Karena tanggal disimpan sebagai jumlah hari sejak 30 Desember 1899, Anda dapat menyertakan aritmatika tanggal saat membandingkan tanggal di VBA. Misalnya, jika tiket kedaluwarsa tiga hari setelah dibeli, Anda dapat memeriksa tiket kedaluwarsa dengan kode VBA yang mirip dengan berikut ini:
Fungsi Publik kedaluwarsa (pembelian sebagai Tanggal) Sebagai Boolean kedaluwarsa = Salah Jika pembelian+3 > Tanggal() Kemudian kedaluwarsa = Benar Berakhir Jika Fungsi Akhir