Skip to content Skip to sidebar Skip to footer

Menampilkan Data ListBox Ke Kolom Form Input Data UserForm

Cara Menampilkan Data ListBox Ke Kolom Form Input Data UserForm ini merupakan bagian "Belajar VBA Excel Part 8", dimana membahas mengenai prosedur yang akan dilakukan sebelum kita melakukan pengeditan maupun menghapus data yang telah disimpan.

Jika Belajar VBA Excel Part 7🔍 Sebelumnya, kita membahas tentang menampilkan data hasil inputan kedalam ListBox, kali ini mempelajari sebaliknya yaitu data yang sebelumnya telah disimpan dan ditampilkan di dalam ListBox akan ditampilkan kembali ke dalam form penginputan untuk selanjutnya dilakukan perubahan data maupun menghapusnya langsung.

Animasi Listbox to Teksbox


Dengan menampilkannya kembali ke dalam form penginputan, Sobat SD akan lebih mudah dan lebih detail terperinci melihat kembali data yang sudah tersimpan untuk mengoreksi data apakah sudah benar atau perlu diperbaiki maupun menghapusnya bila data tersebut sudah tidak dibutuhkan.

A. Membuat Coding Makro ListBox To Form Input

Untuk menampilkan data dari ListBox ke Form Input UserForm, Sobat SD ikuti langkah-langkah berikut ini:

1. Pertama-tama, buatlah data dan simpan untuk ditampilkan kedalam ListBox nantinya. Sobat SD bisa membuat sesuai keinginan atau bisa menyesuaikannya dengan data yang telah Admin buat seperti pada gambar dibawah ini:

Form input database

2. Double klik pada ListBox atau klik kanan 👉 view code, hingga masuk ke code window.

Tampilkan Code window

3. Ganti scope prosedur yang muncul atau Sobat SD langsung saja copy dan masukkan kode makro dibawah ini dan paste/letakkan dibagian mana saja pada code window (jendela kode).

Membuat prosedur Double Klik

Private Sub ListBoxBelajar_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
	On Error Resume Next
	KodeID = ListBoxBelajar.List(ListBoxBelajar.ListIndex, 0)
End Sub

Penjelasan kode makro diatas adalah:
  • Private Sub ListBoxBelajar_DblClick(ByVal Cancel As MSForms.ReturnBoolean) dan ditutup dengan End Sub. Merupakan sebuah scope dengan objek ListBoxBelajar dimana prosedurnya adalah double klik yang berarti perintahnya yang dipanggil akan berjalan begitu kita double klik data yang ingin ditampilkan.

  • KodeID = ListBoxBelajar.List(ListBoxBelajar.ListIndex, 0). Ini adalah perintah yang menyatakan bahwa objek yang menjadi acuan untuk memanggil data adalah KodeID yang ada pada kolom 0 (nol) pada ListBox. Untuk di ingat kembali, pada ListBox kolom pertama dinyatakan sebagai 0 (nol), sementara pada worksheets kolom pertama dinyatakan sebagai 1 (satu).

  • On Error Resume Next. Ini hanya untuk mengantisipasi error yang terjadi apabila belum terdapat data pada ListBox dan tanpa sengaja kita double klik pada bagian head dalam ListBox, maka akan terjadi error. Kita atasi dengan perintah melanjutkan saja proses berikutnya bila terjadi adanya error.


4. Double klik pada TeksBox KodeID lalu tambahkan/ganti dengan coding makro dibawah ini:

Private Sub KodeID_Change()
	Dim Baris As Integer
	Set Ws = Worksheets("BelajarVBA").Range("A:A")
	Set Cari = Ws.Find(KodeID, LookAt:=xlWhole)
	If Not Cari Is Nothing Then
Baris = Cari.Row KodeID.Value = Worksheets("BelajarVBA").Cells(Baris, 1) & "" Nama.Value = Worksheets("BelajarVBA").Cells(Baris, 2) & "" Alamat.Value = Worksheets("BelajarVBA").Cells(Baris, 3) & "" Kecamatan.Value = Worksheets("BelajarVBA").Cells(Baris, 4) & "" Kelurahan.Value = Worksheets("BelajarVBA").Cells(Baris, 5) & "" Tanggal.Value = Worksheets("BelajarVBA").Cells(Baris, 6) & "" If Worksheets("BelajarVBA").Cells(Baris, 7).Value = "Laki-Laki" Then OptLaki.Value = True: OptPerempuan.Value = False If Worksheets("BelajarVBA").Cells(Baris, 7).Value = "Perempuan" Then OptLaki.Value = False: OptPerempuan.Value = True Modal.Value = Worksheets("BelajarVBA").Cells(Baris, 8) & "" CheckBox.Enabled = False End If End Sub

Penjelasan kode makro diatas adalah:
  • Private Sub KodeID_Change() yang ditutup dengan End Sub. merupakan sebuah scope dengan object TeksBox KodeID dengan prosedur Change yang berarti setiap kode id yang tampil dalam TeksBox KodeID berubah, maka data yang lain akan ikut berubah.

  • Dim Baris As Integer. Sebuah deklarasi variabel yang menyatakan bahwa Baris itu merupakan bentuk tipe data integer (memiliki rentang data dari -32.768 sampai 32.767).

  • Set Ws = Worksheets("BelajarVBA").Range("A:A"). dan Set Cari = Ws.Find(KodeID, LookAt:=xlWhole). Mengatur bahwa data yang akan dicari serta dipanggil untuk dicocokkan dengan kode id yang ada dalam TeksBox Kode ID diambil dari database worksheet BelajarVBA pada kolom A.

  • If Not Cari Is Nothing Then ditutup dengan End If dan Baris = Cari.Row. Artinya jika data yang dicari tersebut ditemukan, maka akan ditampilkan sesuai perintah makro berikutnya.

  • KodeID.Value = Worksheets("BelajarVBA").Cells(Baris, 1) & "", sampai Modal.Value = Worksheets("BelajarVBA").Cells(Baris, 8) & "". Ini adalah perintah berikutnya lanjutan makro diatas yang artinya bahwa jika kode id pada Teksbox KodeID sama dengan kode id pada worksheets BelajarVBA kolom A, maka data yang lain seperti Nama, Alamat, Kelurahan dan lainnya akan ditampilkan pada kolom form input yang sesuai dengan data yang dimaksud.

Sebagai contoh, Nama.Value = Worksheets("BelajarVBA").Cells(Baris, 2) & "". Pada kolom input TeksBox Nama, data akan terisi nantinya diambil dari database worksheet BelajarVBA kolom ke 2 (dua) yang berarti sesuai head yang tertera merupakan data Nama.

If Worksheets("BelajarVBA").Cells(Baris, 7).Value = "Laki-Laki" Then OptLaki.Value = True: OptPerempuan.Value = False. Ini merupakan perintah yang menyatakan bahwa jika pada database worksheets BelajarVBA kolom ke 7 (tujuh), berarti kolom Jenis Kelamin". Jika pada kolom Jenis Kelamin tersebut berisi Laki-Laki, maka pada form input OptLaki akan terpilih/tercentang. begitu pula code makro berikutnya.

  • CheckBox.Enabled = False. Ini agar CheckBox tetap dalam keadaan Disable. Pada Belajar VBA Excel Part 6🔍 sebelumnya, kita telah menonaktifkan tombol Simpan dan hanya akan aktif bila Checkbox di centang dan karena menampilkan kembali data dari ListBox ke Form Input digunakan untuk edit maupun hapus data, maka saya sering mematikan fungsi Simpan agar jangan sampai tidak sengaja menekan tombol simpan dan malah membuat data baru.

Makro ListBox to Form Input

 

B. Menambah Coding Makro Untuk Tombol Cancel/Batal

Untuk bonus pada tutorial kali ini, Admin tambahkan pembahasan mengenai menambahkan coding makro pada tombol cancel/batal. Tombol cancel/batal ini digunakan untuk membatalkan suatu pekerjaan yang dilakukan baik pada saat menyimpan, mengedit ataupun menghapus data  yang tidak ingin dilanjutkan prosesnya. 

Kode makro yang digunakan untuk perintah membatalkan tersebut adalah sebagai berikut:

Private Sub Batal_Click()
	If Nama.Value = "" Then
		MsgBox "Tidak Ada Data Yang Bisa Dibatalkan Bos-Qu !!!", vbInformation, "Pemberitahuan"
	Else
		x = MsgBox("Apakah Bos-Qu Yakin Batalkan Data Ini ?!!", vbQuestion + vbYesNo, "informasi")
	End If
	If x = vbYes Then
		CheckBox.Enabled = True
		Nama.SetFocus
	End If
End Sub

Setelah itu tambahkan Tampil_KodeID pada UserForm Active.

Coding Tombol Batal

Penjelasan makro diatas adalah:

  • Private Sub Batal_Click() dan ditutup dengan End Sub. Membuat scope dengan objek CommandButton Batal dengan prosedur Klik yang berarti perintah pembatalan akan berjalan ketika tombol batal di pilih.

  • If Nama.Value = "" Then dan MsgBox "Tidak Ada Data Yang Bisa Dibatalkan Bos-Qu !!!", vbInformation, "Pemberitahuan". Adalah perintah bilamana kolom input Nama kosong maka akan muncul pesan berupa pemberitahuan tidak ada data yang perlu dibatalkan.

  • Else dan x = MsgBox("Apakah Bos-Qu Yakin Batalkan Data Ini ?!!", vbQuestion + vbYesNo, "informasi"). Perintah yang menyatakan jika kolom input Nama tidak kosong, maka muncul pesan lainnya berupa pemberitahuan pilihan untuk membatalkan data atau tidak.

  • If x = vbYes Then, Bersihkan, CheckBox.Enabled = True dan Nama.SetFocus. Adalah makro yang menyatakan bahwa bila kita memilih pilihan ya, maka proses selanjutnya akan memanggil prosedur Bersihkan untuk mengosongkan kembali kolom inputan, menonaktifkan CheckBox dan menempatkan kursor mouse pada kolom input Nama.

    Tampil_KodeID. Menambahkan Tampil_KodeId pada UserForm Active untuk memanggil kode id berikutnya sesuai kode id terakhir yang ada, agar setiap membatalkan data kembali ke urutan terakhir kode id, sehingga bisa melanjutkan inputan data bila diinginkan.

Demikian pembahasan mengenai car Menampilkan Data ListBox Ke Kolom Form Input Data UserForm ditambakan dengan Membuat Coding untuk Tombol Batal kali ini. Bagi Sobat SD yang ingin melihat dalam bentuk video silahkan berkunjung ke Channel Youtube   Sobat SD.


1 comment for "Menampilkan Data ListBox Ke Kolom Form Input Data UserForm"