excelive - kumpulan artikel dan tutorial excel: ListBox

New Posts

Post Top Ad

Your Ad Spot
Tampilkan postingan dengan label ListBox. Tampilkan semua postingan
Tampilkan postingan dengan label ListBox. Tampilkan semua postingan

Mengisi ListBox Dengan Data Spesifik Dari Sebuah Lembar Kerja

18.7.17 0
data listbox spesifik

Listbox tidak ubahnya sama dengan Combobox yang mana memiliki fungsi yang sama yaitu menampilkan daftar berupa data-data yang bisa dipilih oleh user, hanya saja secara tampilan keduanya memiliki perbedaan, dimana ComboBox menampilkan daftar data berupa Drop Down yang tampil ketika diklik oleh pengguna, sementara tampilan ListBox berupa daftar yang bisa digulung keatas atau kebawah.

Perbedaan ComboBox dan ListBox
Perbedaan Listbox dan ComboBox
Pada prinsipnya, baik ComboBox maupun ListBox bisa ditempatkan dilembar kerja Microsoft Excel maupun didalam sebuah UserForm serta cara pembuatannya yang sama, yakni tinggal diklik ikon yang mewakili control tersebut.

Setelah mengetahui dasar cara pembuatan serta cara instalasi control tersebut, permasalah berikutnya adalah bagaimana cara mengisi data-data kedalamnya. Dan pada kesempatan kali ini, tutorial Macro VBA Excel yang akan dibahas hanya ListBox saja dan bagaimana menampilkan data-data kedalamnya, dengan catatan data-data yang ditampilkan memiliki kriteria tertentu yang sudah ditentukan sebelumnya.

Sebelum mulai tutorial Macro VBA ini, ada baiknya buat atau siapkan sebuah data-data dalam lembar kerja Microsoft Excel seperti berikut :
excelive : listbox spesifik

Jika Anda lihat dalam lembar kerja excel diatas, terdapat sebuah kolom status yang mana nantinya akan difungsikan sebagai kriteria untuk menampilkan data kedalam ListBox.

Setelah data selesai dibuat, kini saatnya Anda membuat sebuah ListBox dan sebuah CommandButton. Dan untuk tutorial kali ini, saya akan menempatkan control tersebut ke dalam lembar kerja, jadi pastikan dulu Menu Developer sudah Anda aktifkan (silahkan googling cara mengaktifkan menu Developer Microsoft Excel)

Klik menu Developer dan klik ikon Insert untuk menampilkan jendela Control, untuk tutorial ini ada baiknya Anda membuat bahan-bahan yang dibutuhkan dari menu ActiveX Control yang dapat dilakukan dengan cara; memilih ikon yang Anda inginkan dan gambar di lembar kerja.
developer Microsoft Excel

Untuk menampilkan data-data dari lembar kerja kedalam ListBox berdasarkan kriteria tertentu, maka sudah pasti harus menambahkan baris-baris kode yang difungsikan untuk membaca data dan menampilkannya. Dan Anda bisa mulai menuliskan kode-kode berikut ini dengan cara klik 2x tombol CommandButton yang sudah Anda buat sebelumnya untuk langsung menuju jendela Microsoft Visual Basic Editor.
Sebelum menulis kode VBA, pastikan tombol Design Mode yang terdapat di Menu Developer dalam keadaan Aktif
Dim Data As Variant
Dim i As Long

Data = Range("A2:B" & Cells(Rows.Count, "A").End(xlUp).Row)
ListBox1.Clear
For i = 1 To UBound(Data)
If Data(i, 2) = "OK" Then
With Me.ListBox1
   .AddItem Data(i, 1)
   .List(.ListCount - 1, 1) = Data(i, 2)
End With
End If
Next i
Dari baris kode diatas dapat dilihat bahwa data yang terdapat di dalam lembar kerja Microsoft Excel akan dibaca terlebih dahulu yang terdapat dalam baris Range("A2:B" karena dalam tutorial ini data mulai terisi di baris A2 hingga B sekian, sementara untuk kriteria berada di kolom status atau kolom B dengan nilai OK.

Jika Anda ingin menghapus atau membersihkan daftar atau isian yang terdapat dalam ListBox, maka dapat dilakukan dengan cara menambahkan satu buah CommandButton dan berikan sebuah perintah atau baris kode Listbox1.Clear
Pastikan Ikon Design Mode yang terdapat dalam Menu Developer sudah tidak Aktif agar tombol CommanButton bisa menerima dan menjalankan perintah yang sudah dibuat diatas.
Download hasil akhir tutorial ini
download

Versi lain dari cara mengerjakan tutorial ini, sudah saya sediakan di channel excelive yang ada di youtube. Kalau mau lihat, silahkan play video berikut



Semoga bermanfaat.

Read More ...

Menggeser Isi Data ListBox Ke Atas Atau Ke Bawah

29.10.16
menggeser isi listbox

Panduan Macro VBA Microsoft Excel kali ini akan membahas tentang ListBox yang dipadukan dengan CommandButton. Dimana dalam kasus ini kita akan memindahkan atau lebih tepatnya menggeser posisi data atau nilai yang terpilih yang terdapat di dalam ListBox baik keatas atau kebawah dengan menggunakan tombol yang ada.

Untuk membuatnya, buat beberapa control berikut ini
  • UserForm
  • CommandButton1
  • CommandButton2
  • ListBox1
Langkah berikutnya adalah memposisikan control CommandButton1, CommandButton2, serta ListBox1 di dalam Userform1 seperti gambar berikut (atau sesuai dengan selera Anda)
Menggeser Isi Lstbox

Setelah selesai mendesain, saatnya memasukkan baris-baris perintah di jendela kode :
  1. Pilih CommandButton1 dan CommandButton2 kemudian ganti atribut Enabled menjadi False, hal ini berfungsi untuk menonaktifkan kedua tombol tersebut agar pengguna tidak bisa mengkliknya sebelum memilih data atau value yang ada di ListBox

  2. Dijendela kode Masukkan beberapa perintah berikut ini:
    • Mengisi ListBox secara otomatis ketika UserForm terbuka
      Private Sub UserForm_Activate()
      Dim Itm As Variant
      For Each Itm In Range("A1:A17").Cells
      ListBox1.AddItem Itm
      Next Itm
      End Sub
      Baris perintah ini akan mengisi ListBox1 secara otomatis sesuai dengan apa yang tertulis di sel A1 Hingga A7. Jadi isikan data-data di sel yang dimaksud agar ListBox1 tidak kosong
    • Tombol Naik (Tombol CommandButton1)
      Private Sub CommandButton1_Click()
      Dim Baris As Long
      Dim Terpilih As String
      
      Baris = ListBox1.ListIndex
      Terpilih = ListBox1.Value
      
      ListBox1.RemoveItem Baris
      ListBox1.AddItem Terpilih, Baris - 1
      ListBox1.ListIndex = Baris - 1
      End Sub
    • Tombol Turun (Tombol CommandButton2)
      Private Sub CommandButton2_Click()
      Dim Baris As Long
      Dim Terpilih As String
      
      Baris = ListBox1.ListIndex
      Terpilih = ListBox1.Value
      
      ListBox1.RemoveItem Baris
      ListBox1.AddItem Terpilih, Baris + 1
      ListBox1.ListIndex = Baris + 1
      End Sub
    • Baris kode yang terakhir adalah, untuk mengaktifkan antau menonaktifkan tombol CommandButton1 dan CommandButton2 dengan kondisi sebagai berikut
      ListBox CommandButton1 CommandButton2
      Selain baris awal/akhir
      Baris pertama -
      Baris terakhir -
  3. Setelah selesai menuliskan kode-kode VBA diatas, saatnya mengujinya dengan cara 🖰 ikon⏵di standard Toolbar atau gunakan tombol pintas F5
Hasil akhir dari tutorial kali ini tampak dalam ilustrasi berikut:
Menggeser value naik atau rutun
Read More ...

Cara Mengisi ListBox Dengan Nilai Unik dari Data Ganda

28.10.16
data listbox unik

Secara garis besar istilah dari nilai unik adalah nilai yang tidak sama antara satu dengan lainnya. Nilai unik seringkali digunakan untuk data pegawai, nomor induk siswa, nomor rekening bank, atau sejenisnya.

Nilai unik tidak selalu berupa angka-angka bisa juga berupa teks atau huruf atau kombinasi antara keduanya, hal ini tergantung dari kegunaannya.

Coba perhatikan data berikut:
A
1 Andini
2 Sofia
3 Edi
4 Sofia
5 Ika
6 Andini
7 Sofia
8 Ika

Dari data diatas, terdapat beberapa nama yang sama yang muncul beberapa kali dalam tabel. Dan jika dilihat secara seksama, maka data diatas sebenarnya hanya terdapat nilai yang unik atau tidak ganda, yaitu;
  • Andini
  • Sofia
  • Edi, dan
  • Ika
Model tabel seperti gambar diatas, barangkali sering kita temui atau kita gunakan semisal dalam penulisan laporan. Nah, data yang tertulis di dalam lembar kerja tersebut (seperti yang pernah saya jelaskan di tutorial sebelumnya) tentu saja bisa dimasukkan kedalam ListBox. Namun, mungkin kita hanya menginginkan data-data atau nilai yang muncul adalah nilai yang unik saja. Maka tentu saja perlakuan untuk mengisi ListBox tidak bisa menggunakan cara biasa, seperti menggunakan kode RowSource misalnya.

Nah, Tutorial ini akan membahas tentang bagaimana cara mengisi data-data yang terdapat di lembar kerja ke dalam ListBox, akan tetapi hasil yang ditampilkan tidak ganda atau unik.

Sebelum memulainya pastikan Anda sudah menyiapkan objek atau Control ListBox, dan diletakkan di sebuah UserForm. Langkah selanjutnya adalah :
  1. Buka jendela Microsoft Visual Basic Anda
  2. 🖰 kanan UserForm dan pilih ViewCode dari menu popup yang muncul
  3. Pilih event Userform_Activate dari menu dropdown procedure
  4. Ketik kode berikut kedalam event yang Anda pilih di langkah sebelumnya
    Dim AllCells As Range, Cell As Range
    Dim Unik As Collection
    Dim Item As Variant
    Set Unik = New Collection
    
    On Error Resume Next
    For Each Cell In Range("A1:A10").Cells
    Unik.Add Cell.Value, CStr(Cell.Value)
    Next Cell
    For Each Item In Unik
    ListBox1.AddItem Item
    Next Item
    Kode diatas akan membaca data-data yang ada di sel A1 hingga A10, jadi pastikan Anda sudah memasukkan data di sel-sel yang dimaksud. Usahakan dalam data tersebut terdapat beberapa nilai yang ganda untuk melihat perbedaannya.
  5. Langkah terakhir tentu saja adalah menguji kode ini. Lakukan dengan cara menekan shortcut F5 yang ada di keyboad Anda.
Hasil akhir tutorial
Isi ListBox Unik
Read More ...

Post Top Ad

Your Ad Spot