Skip to content Skip to sidebar Skip to footer
Cara Menampilkan Data ListBox Ke Input TextBox UserForm

Cara Menampilkan Data ListBox Ke Input TextBox UserForm

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

Jika sebelumnya dibahas Cara simpan dataπŸ”, kali ini akan 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.

{tocify} $title={Table of Contents}

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, kalian ikuti langkah-langkah berikut ini:

1. Pertama-tama, buatlah data dan simpan untuk ditampilkan kedalam ListBox nantinya. kalian 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 kalian 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).Value
Nama.Value = Worksheets("BelajarVBA").Cells(Baris, 2).Value
Alamat.Value = Worksheets("BelajarVBA").Cells(Baris, 3).Value
Kecamatan.Value = Worksheets("BelajarVBA").Cells(Baris, 4).Value
Kelurahan.Value = Worksheets("BelajarVBA").Cells(Baris, 5).Value
Tanggal.Value = Worksheets("BelajarVBA").Cells(Baris, 6).Value
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).Value
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).value, sampai Modal.Value = Worksheets("BelajarVBA").Cells(Baris, 8).value. 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).value. 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 ditambahkan dengan Membuat Coding untuk Tombol Batal kali ini. Bagi kalian yang ingin melihat dalam bentuk video silahkan berkunjung ke Channel Youtube Buttatoa.


Show Comments

1 comment for "Cara Menampilkan Data ListBox Ke Input TextBox UserForm"