Dalam pengembangan aplikasi menggunakan VBA Excel, sering kali kita membutuhkan informasi tanggal dan waktu secara bersamaan. Misalnya saat mencatat waktu login pengguna, merekam transaksi, membuat log aktivitas, atau mengetahui kapan sebuah macro dijalankan. Untuk kebutuhan tersebut, VBA menyediakan fungsi Now yang mampu mengembalikan tanggal dan waktu dalam satu nilai.
Meskipun terdapat fungsi Date untuk mengambil tanggal dan Time untuk mengambil waktu, penggunaan Now sering kali lebih praktis karena kita tidak perlu memanggil dua fungsi secara terpisah. Cukup dengan satu fungsi, seluruh informasi tanggal dan waktu dapat diperoleh sekaligus.
Mengenal Fungsi Now
Fungsi Now mengembalikan nilai bertipe Date yang berisi kombinasi tanggal dan waktu berdasarkan pengaturan sistem operasi Windows. Nilai tersebut akan selalu diperbarui sesuai dengan waktu saat macro dijalankan.
Sintaks fungsi Now sangat sederhana karena tidak memerlukan parameter.
Now
Contoh penggunaan:
Sub ContohNow()
MsgBox Now
End Sub
Apabila macro dijalankan pada tanggal 03 Agustus 2026 pukul 14:35:20, maka hasil yang ditampilkan dapat berupa:
03/08/2026 14:35:20
Format tampilan dapat berbeda pada setiap komputer karena mengikuti pengaturan regional Windows.
Menyimpan Nilai Now ke Variabel
Dalam banyak kasus, Anda akan menggunakan nilai Now lebih dari satu kali. Oleh karena itu, sebaiknya simpan nilainya ke dalam variabel agar lebih mudah dikelola.
Sub SimpanNow()
Dim WaktuSekarang As Date
WaktuSekarang = Now
MsgBox WaktuSekarang
End Sub
Pendekatan ini juga memastikan bahwa nilai tanggal dan waktu tetap konsisten selama proses macro berlangsung.
Menampilkan Tanggal dan Waktu ke Worksheet
Fungsi Now juga dapat digunakan untuk mengisi sel Excel secara otomatis.
Sub CatatWaktu()
Range("A1").Value = Now
End Sub
Saat macro dijalankan, sel A1 akan berisi tanggal dan waktu sesuai kondisi saat itu. Teknik ini banyak digunakan untuk membuat log aktivitas atau mencatat waktu input data.
Memformat Tampilan Tanggal dan Waktu
Secara default, tampilan hasil fungsi Now mengikuti pengaturan sistem operasi. Jika Anda menginginkan format tertentu, gunakan fungsi Format.
Sub FormatNow()
MsgBox Format(Now, "dd mmmm yyyy hh:mm:ss")
End Sub
Hasilnya dapat berupa:
03 Agustus 2026 14:35:20
Beberapa format yang sering digunakan antara lain:
| Format | Contoh Hasil |
|---|---|
dd/mm/yyyy hh:mm:ss |
03/08/2026 14:35:20 |
dd-mmm-yyyy |
03-Aug-2026 |
dddd, dd mmmm yyyy |
Senin, 03 Agustus 2026 |
hh:mm |
14:35 |
hh:mm:ss |
14:35:20 |
Dengan fungsi Format, Anda dapat menyesuaikan tampilan data agar lebih mudah dibaca atau sesuai dengan standar laporan perusahaan.
Mengambil Bagian Tertentu dari Fungsi Now
Karena Now menghasilkan nilai bertipe Date, Anda dapat mengombinasikannya dengan berbagai fungsi tanggal dan waktu lainnya.
Contoh mengambil tanggal:
MsgBox DateValue(Now)
Mengambil waktu:
MsgBox TimeValue(Now)
Mengambil tahun:
MsgBox Year(Now)
Mengambil bulan:
MsgBox Month(Now)
Mengambil jam:
MsgBox Hour(Now)
Kemampuan ini membuat fungsi Now menjadi sangat fleksibel karena satu nilai dapat diolah menjadi berbagai informasi sesuai kebutuhan.
Studi Kasus
Misalkan Anda ingin membuat sistem pencatatan aktivitas pengguna. Setiap kali tombol Simpan ditekan, aplikasi akan mencatat kapan proses tersebut dilakukan.
Sub SimpanData()
Range("B2").Value = Now
End Sub
Hasilnya, setiap data yang disimpan akan memiliki informasi tanggal dan waktu secara lengkap.
Contoh lain adalah mencatat waktu ketika workbook dibuka.
Private Sub Workbook_Open()
Sheets("Log").Range("A2").Value = Now
End Sub
Dengan cara ini, Anda dapat membuat riwayat penggunaan aplikasi tanpa perlu memasukkan tanggal dan waktu secara manual.
Perbedaan Now, Date, dan Time
Ketiga fungsi ini sering digunakan dalam pengolahan tanggal dan waktu, namun masing-masing memiliki fungsi yang berbeda.
| Fungsi | Hasil yang Dikembalikan |
|---|---|
| Date | Tanggal saat ini |
| Time | Waktu saat ini |
| Now | Tanggal dan waktu saat ini |
Jika aplikasi hanya membutuhkan tanggal, gunakan Date. Jika hanya membutuhkan jam, gunakan Time. Namun apabila keduanya diperlukan sekaligus, Now merupakan pilihan yang paling praktis.
Kesimpulan
Fungsi Now merupakan salah satu fungsi yang paling sering digunakan dalam VBA Excel karena mampu menghasilkan informasi tanggal dan waktu dalam satu nilai. Dengan memadukannya bersama fungsi seperti Format, Year, Month, Day, Hour, Minute, dan Second, Anda dapat membangun berbagai fitur yang berkaitan dengan pencatatan aktivitas, transaksi, maupun monitoring aplikasi.
Memahami fungsi Now juga menjadi langkah penting sebelum mempelajari teknik pengolahan tanggal dan waktu yang lebih lanjut, terutama ketika mengembangkan aplikasi VBA yang membutuhkan data waktu secara dinamis dan akurat.
