Skip to content Skip to sidebar Skip to footer

Cara Menambahkan DateTimePicker dan Form Input Tanggal Pada VBA Excel

Beberapa waktu belakangan ini tutorial membuat aplikasi berbasis vba excel sempat tertunda disebabkan beberapa postingan dengan topik yang berbeda dan kali ini akan kita melanjutkan pembahasan tersebut dengan topik "Membuat Form Input Tanggal" pada UserForm VBA Excel. 

Sebelumnya telah Admin bahas mengenai cara membuat kode otomatis dan juga juga combobox dan sekarang Admin akan mencoba menguraikan beberapa cara membuat form input tanggal yang biasa admin gunakan dalam membuat sebuah aplikasi berbasis vba excel. Untuk yang baru bergabung dapat membaca tutorial part 1 tentang "Tahapan Membuat Aplikasi VBA Excel", part 2 tentang "Cara Membuat Kode ID Otomatis" dan part 3 tentang "Cara Membuat ComboBox Bertingkat" sebelumnya agar lebih memahami pembahasan saat ini karena setiap bagian part tutorial saling berkaitan.

Form tanggal dalam sebuah aplikasi berfungsi untuk menginput sebuah data seperti mengenai tanggal lahir, tanggal pencatatan, tanggal pencetakan dan lain sebagainya. Ada beberapa cara yang bisa digunakan untuk membuat form input tanggal tersebut. Mengenai pilihan yang mana yang mudah atau yang terbaik, semuanya tergantung fungsi, tujuan, serta pengguna/pemakai aplikasi yang di targetkan nantinya.

A. Menambahkan DateTimePicker (DTPicker)

Secara default DTPicker tidak ada dalam toolbox standar VBE dan untuk menampilkannya Sobat SD ikuti panduan berikut:

1. Download file yang saya kemas dalam file winrar melalui link yang saya sediakan pada akhir postingan, lalu extract winrar tersebut. Copy hasil extract tadi berupa file "mscomct2" ke penyimpanan drive C:\Windows\SysWOW64. Perhatikan setiap urutan sesuai gambar dengan tanda panah dibawah ini.

Extract dan Copy File mscomct2

Paste File mscomct2 ke C:\Windows\SysWOW64

2. Setelah dipastekan, kita menuju ke search taksbar komputer. Ketik cmd, akan muncul program command prompt. Mulai jalankan command prompt tersebut untuk meregistrasi file "mscomct2" tadi. Sobat SD bisa memilih salah satu cara untuk memulai cmd seperti gambar panah (2) atau gambar panah (3).

Memulai command prompt

3. Dalam window command prompt ketik cd C:\windows\Syswow64 lalu tekan Enter. Selanjutnya kembali ketik regsvr32 mscomct2.ocx lalu tekan Enter kembali. Jika berhasil akan muncul pop op yang menandakan registrasi berhasil seperti gambar dibawah ini.

Registrasi DateTime berhasil

4. Sekarang kita akan tampilkan DTPicker dan MountView ke dalam tollbox controls. Untuk itu Sobat SD sekarang buka microsoft excel lalu menuju ke visual basic editor. Buka toolbox controls, klik kanan lalu pilih "Additional controls... ".

Menampilkan DateTime Picker

5. Akan Tampil Jendela additional controls, cari lalu pilih dan centang (x) "Microsoft Date and Time Picker Control 6.0 (SP6)" dan "Microsoft MonthView Control 6.0 (SP6). Klik OK untuk menyimpan pengaturan. Secara otomatis pada toolbox controls akan menampilkan object tool DT Picker dan MountView.

Memilih DTPicker untuk ditampilkan

DTPicker dan MountView dalam toolbox  controls

 

B. Membuat Form Input Tanggal Di UserForm VBA Excel

Untuk membuat form input tanggal, Admin biasa menggunakan 3 cara sesuai dengan kebutuhan maupun sasaran pengguna/pemakai nantinya. Tentunya selalu mencari cara yang lebih mudah, cepat dalam eksekusi dan tidak merepotkan pemakai aplikasi.

1. Menggunakan DTPicker

Penggunaan DTPicker ini paling mudah digunakan menurut Admin sendiri, tidak terlalu banyak penggunaan perintah makro dan tampilan UserForm lebih menarik. Namun jarang Admin gunakan disebabkan untuk mencari dan menampilkan tanggal yang lampau, agak ribet dan juga sampai sekarang belum memahami dalam memberikan peringatan berupa message agar DTPicker tidak terlupa/dilewati saat penginputan data.

Untuk membuat inputan tanggal menggunakan DTPicker ini, Sobat SD ikuti tahapan berikut:

1. Buka file belajar yang sudah kita buat kemarin. Masuk ke UserForm1 lalu buat sebuah label dan masukkan DTPicker kedalam UserForm1 tersebut. Untuk pengaturan propertiesnya sesuaikan dengan yang sebelumnya (baca part 1 tentang "Tahapan Membuat Aplikasi VBA Excel").

Membuat form input tanggal

2. Jalankan Run UserForm atau klik F5 untuk melihat tampilannya.

Tampilan Form Menggunakan DTPicker

 

2. Menggunakan MonthView

MonthView ini banyak digunakan untuk sebuah aplikasi yang lebih banyak/sering menggunakan tanggal dalam inputan datanya. Untuk membuat form inputan tanggal menggunakan MonthView caranya sebagai berikut:

1. Buat sebuah textbox baru sesuai gambar tanda panah (1) dibawah ini dan ganti (name) menjadi "tanggal1" dan sebuah combobox dan ganti (name) menjadi "Panggil". Properties yang lain seperti sebelumnya dan sesuaikan seperti gambar dibawah sebagai pembelajaran cara kedua ini.

Form tanggal menggunakan monthview

Password Winrar : P4ssword83

 

Setelah itu klik kanan pada combobox "Panggil" lalu pilih "view code". Tambahkan/ganti dengan makro dibawah ini:

Private Sub Panggil_Click()
	UserForm2.Show
End Sub

Penjelasan kode makro diatas sebagai berikut:

  • Private Sub Panggil_Click().  Merupakan sebuah ruang lingkup (scope) prosedur yang merujuk kepada object ComboBox "Panggil" dengan perintah untuk menampilkan userform2 (yang berisi monthview yang akan kita buat setelah ini) ketika di klik. Prosedur ini ditutup dengan End Sub.

2. Buat UserForm baru, lalu masukkan object tools montview kedalamnya. Ubah ukuran userform sesuai lebar dan panjang ukuran monthview agar tidak ada jarak (padding) untuk pempercantik tampilan.

Membuat MountView

3. Double klik object monthview atau klik kanan lalu pilih "view code". Setelah jendela code (code window) tampil akan otomatis muncul sebuah scope prosedur dengan object "MonthView1" dan prosedur "DateClik" dan ditutup dengan "End Sub". Sobat SD bisa menambahkan/mengganti dengan makro dibawah ini:
Private Sub MonthView1_DateClick(ByVal DateClicked As Date)
	UserForm1.Tanggal1 = DateClicked
	Unload Me
End Sub

Penjelasan kode makro diatas sebagai berikut:

  • Private Sub MonthView1_DateClick(ByVal DateClicked As Date). Merupakan sebuah ruang lingkup (scope) prosedur yang merujuk kepada object MonthView dengan perintah proses akan terjadi saat MonthView di klik. Prosedur ditutup dengan End Sub.

  • UserForm1.Tanggal1 = DateClicked. Ini adalah perintah untuk mengisi kolom textbox "tanggal1" yang dibuat pada userform1 sebelumnya sesuai tanggal yang dipilih di monthview.

  • Unload Me. Perintah untuk menghilangkan/menyembunyikan tampilan monthview setelah tanggal diipilih.

Hasil input tanggal melalui monthview

 

3. Menggunakan TextBox

Dibandingkan dengan kedua cara diatas, Admin lebih sering menggunakan cara ketiga ini. Disamping lebih simple, dalam penginputan juga lebih cepat dari kedua cara diatas. Untuk membuatnya ikuti langkah-langkah berikut:

1. Buat sebuah textbox baru sesuai gambar tanda panah dibawah ini dan ganti (name) menjadi "tanggal2" dan pengaturan properties yang lain seperti sebelumnya.

Buat form input tanggal cara 3

2. Klik kanan textbox "Tanggal2" lalu pilih "view code. Tambahkan/ganti dengan kode makro dibawah ini:

Private Sub Tanggal2_Change()
	If Len(Me.Tanggal2.Value) > 10 Then
		Me.Tanggal2.Value = Left(Me.Tanggal2.Value, 10)
	End If

	If Tanggal2.TextLength = 2 Or Tanggal2.TextLength = 5 Then
		Tanggal2.Text = Tanggal2.Text + "/"
	End If
End Sub

atau Sobat SD bisa menggunakan makro yang berbeda seperti dibawah ini:

Private Sub Tanggal2_Change()
	If Len(Me.Tanggal2.Value) > 10 Then
		Me.Tanggal2.Value = Left(Me.Tanggal2.Value, 10)
	End If
    
	If Len(Tanggal2.Value) = 2 Then
		T = Tanggal2.Value
		T = T & "/"
		Tanggal2.Value = T: T = ""
	ElseIf Len(Tanggal2.Value) = 5 Then
		T = Tanggal2.Value
		T = T & "/"
		Tanggal2.Value = T: T = ""
	End If
End Sub

Penjelasan kode makro diatas sebagai berikut:

  • Private Sub Tanggal2_Change(). Merupakan sebuah ruang lingkup (scope) prosedur yang merujuk kepada object Tanggal2 dengan perintah proses akan terjadi saat textbox "Tanggal2" di masukkan text atau karakter. Prosedur ditutup dengan End Sub.

  • If Len(Me.Tanggal2.Value) > 10 Then sampai End If. Perintah untuk membatasi jumlah text/karakter yang akan di isikan kedalam textbox "Tanggal2".

  • If Tanggal2.TextLength = 2 Or Tanggal2.TextLength = 5 Then sampai End If. Perintah yang menyatakan bahwa setiap 2 (dua) karakter yang di isikan kedalam textbox "Tanggal2" akan diberi pemisah berupa tanda "/" dan saat mengisi karakter kelima juga akan diberi pemisah yang sama.

  • If Len(Tanggal2.Value) = 2 Then sampai End If. Perintah yang sama seperti diatas cuma dengan cara penulisan perintah makronya berbeda.

Untuk melakukan penginputan, sebagai contoh akan di masukkan tanggal 07 Juli 2021, maka kita cukup mengetikkann 07072021 dan textbox "Tanggal2" akan secara otomatis mengubahnya menjadi 07/07/2021.

Input Tanggal cara 3

Nah Sobat SD semua, itulah diatas cara menambahkan DateTimePicker pada toolbox controls dan cara pengaplikasiannya dalam menginput tanggal di userform vba excel. Bila ingi melihat dalam bentuk video, silahkan menuju ke Youtube Sobat SD. Semoga bermanfaat, Wassalam.


Download Here



Post a Comment for "Cara Menambahkan DateTimePicker dan Form Input Tanggal Pada VBA Excel"