Tampilkan postingan dengan label ListBox. Tampilkan semua postingan
Tampilkan postingan dengan label ListBox. Tampilkan semua postingan

Lakukan Cara Ini Untuk Mengedit Isi Sel Secara Langsung Dari ListBox

change value directly

Seperti yang sudah diketahui bersama bahwa daftar atau isi yang terlihat di dalam ListBox selain bisa ditulis secara manual, juga bisa ditulis dan berasal dari sebuah lembar kerja Microsoft Excel yang fungsi utamanya adalah untuk menampilkan informasi yang ada pada sebuah database.

Variasi dan cara-cara mengisi daftar ListBox sudah pernah dibahas tuntas di artikel-artikel sebelumnya, silahkan cek disini :
Mau Mengisi ListBox dari Bawah ke Atas? Begini Caranya
Dua Cara Menampilkan Isi Dari Listbox Ke Dalam Kotak Pesan
Berbagai Cara Mengisi Daftar ListBox
Menampilkan Informasi Nama Bulan Sebelumnya Dari Tanggal Saat Ini
Mengisi ListBox Dengan Data Spesifik Dari Sebuah Lembar Kerja
Menggeser Isi Data ListBox Ke Atas Atau Ke Bawah
Cara Mengisi ListBox Dengan Nilai Unik dari Data Ganda



Loading...

Pada kesempatan ini, excelive tidak akan membahas bagaimana cara mengisinya akan tetapi bagaimana cara merubah isinya secara langsung melalui ListBox itu sendiri tanpa harus mengubahnya lewat Lembar kerja dan hasilnya akan di update setelah perubahan dikonfirmasi oleh pengguna.

Sebagai catatan, tutorial ini hanya berlaku untuk model pengisian ListBox yang berasal dari lembar kerja dan bukan ditulis secara manual.

Ok, pertama saya akan membuat data yang terdapat di lembar kerja Microsoft Excel yang nantinya akan mengisi sebagai daftar di dalam ListBox disertai juga objek ListBox dan CommandButton yang saya letakkan di lembar kerja

Fungsi dari objek CommandButton adalah untuk memanggil data yang ada di lembar kerja dan kemudian menempelkannya ke dalam ListBox. Untuk melakukan hal ini, saya menggunakan kode Macro VBA sederhana (warna merah) seperti berikut
Private Sub CommandButton1_Click()
ListBox1.Clear
For ISI = 1 To Range("A1").End(xlDown).Row
    ListBox1.AddItem Cells(ISI, 1)
Next
End Sub
  • Baris awal dari kode di atas saya fungsikan untuk membersihkan daftar yang ada di ListBox agar nantinya ketika pengguna meng-klik tombol ini lebih dari satu kali, isi dari ListBox tidak akan bertambah.
  • Pada baris selanjutnya saya menggunakan statemen For Next yang berisi nilai 1 sampai dengan baris akhir yang berisi data di sepanjang kolom A. Nilai ini saya masukkan dalam variabel ISI yang nantinya saya fungsikan ia untuk membaca baris sebuah sel
  • Parameter yang saya gunakan untuk mengisi Daftar di dalam ListBox ini adalah AddItem dengan mengacu pada isi sebuah sel dengan ketentuan nilai sel berisi baris dan kolom. Di mana nilai untuk baris saya ambil dari variabel ISI, sementara untuk kolom saya tuliskan dengan angka 1 - yakni indeks untuk kolom pertama (A).
Sampai pada baris ini anda sudah berhasil memanggil data yang ada di dalam lembar kerja ke dalam ListBox dan memiliki sifat dinamis, artinya ia akan secara otomatis mengupdate isi ListBox ketika anda menambah atau mengurangi jumlah baris (record) yang ada di lembar kerja anda.

Langkah selanjutnya adalah memberikan kode untuk ListBox, di mana skenario yang akan kita jalankan adalah seperti berikut;
Ketika pengguna meng-klik isi dari ListBox, maka sebuah kotak berupa InputBox akan muncul dan difungsikan sebagai tempat memasukkan nilai baru terhadap isi yang dipilih. Dan ketika pengguna menekan tombol OK, maka perubahan nilai akan langsung di terapkan di lembar kerja maupun daftar ListBox itu sendiri
Ada beberapa hal penting dalam memaknai dan menerjemahkan skenario di atas, antara lain :
  • Prosedur yang digunakan adalah Klik pada ListBox,
  • InputBox untuk melihat dan mengganti nilai, dan
  • Update data secara otomatis.

Setelah memahami konsep dari skenario di atas, langkah selanjutnya yang merupakan inti dari tutorial kali ini adalah merancang kode Macro VBA, dan hasil akhir tertulis seperti berikut (warna merah) :
Private Sub ListBox1_Click()
    nmr = ListBox1.ListIndex + 1
    Isi = ListBox1.List(ListBox1.ListIndex, 0)
    kotak = Application.InputBox"item yang anda pilih :", "ganti isi", Isi)

    If kotak = False Then Exit Sub
    Cells(nmr, 1) = kotak

    CommandButton1_Click
End Sub
Beberapa variabel penting dari sekumpulan baris di atas antara lain:
  • nmr berfungsi untuk mencari indeks baris dari isi yang terpilih dalam ListBox, kemudian di tambahkan nilai + 1. Hal ini dikarenakan pembacaan indeks baris di ListBox dimulai dari angka 0, sementara data yang tertulis di lembar kerja di mulai dari baris 1.
  • Isi saya gunakan untuk mengambil nilai (isi) dari item yang terpilih dalam ListBox.
  • Kotak berfungsi untuk menampilkan jendela InputBox yang secara otomatis akan terisi dengan nilai dari item yang terpilih di ListBox
  • Kode berikutnya akan menjalankan logika IF yang berfungsi untuk mengecek apakah tombol OK pada kotak InputBox di klik (pilih) atau tidak. Dan jika tombol CANCEL yang dipilih, maka kode yang akan di jalankan adalah perintah Exit Sub. Sementara jika pengguna menekan tombol OK, maka baris kode yang akan dijalankan mengisi perubahan isi sel dengan nilai atau data yang tertulis di kotak InputBox.
  • CommandButton1_Click adalah perintah yang sebelumnya telah diisi namun untuk kali ini saya gunakan untuk mengupdate hasil pembaruan data yang dilakukan.

Berikut adalah tampilan akhir dari tutorial kita kali ini

Loading...
ganti isi ListBox

Catatan :
Kode di atas tidak berlaku jika daftar di ListBox di tampilkan dengan model urutan terbalik, atau dari baris terbawah ke baris atas. Silahkan lihat tutorial ini .

Sekarang anda sudah mengetahui bagaimana caranya merubah isi atau data yang ada dalam lembar kerja secara langsung dari ListBox dengan menggunakan bantuan InputBox.
Terimakasih anda sudah berkunjung di portal pembelajaran Microsoft Excel bersama excelive.com. Silahkan bookmark situs ini untuk memudahkan anda ketika mengunjungi kami lain waktu. Grazie

Mau Mengisi ListBox Secara Terbalik dari Bawah ke Atas? Begini Caranya

descending listbox

Ketika kita berbicara mengenai urutan data, maka kita mengenal istilah Ascending dan juga istilah Descending. Dua buah model cara mengurutkan data ini sangat penting ketika ingin mengetahui informasi dan mendapatkan nilai yang tepat, juga sangat membantu dalam memvisualisasikan data dengan lebih cepat dan lebih baik, menata dan menemukan data yang di inginkan, dan akhirnya membuat keputusan yang lebih efektif.



Loading...

Secara default, bentuk pengurutan data yang paling umum digunakan adalah model pengurutan yang dimulai dari nilai terkecil ke nilai terbesar yang biasa kita sebut dengan istilah Ascending, atau jika data tersebut berupa string maka urutan ini akan mengurutkan teks dari huruf A ke Z. Selain mengurutkan teks atau angka, kita juga bisa mengurutkan tanggal dan waktu bahkan bisa juga kita melakukan pengurutan data berdasarkan warna sel. Model pengurutan Ascending ini pula yang digunakan secara default dalam menuliskan daftar di ListBox, hanya saja ia akan mengurutkan data-data yang berasal dari lembar kerja dimulai dari baris terkecil - dan tidak diurutkan berdasarkan abjad ataupun angka, kecuali kita menambahkan kode Macro VBA lainnya.

Coba perhatikan data di lembar kerja berikut, dan lihat pula hasil yang ditampilkan dalam daftar ListBox
susunan isi listbox
Dari gambar di atas dapat di tarik kesimpulan bahwa ListBox tidak bisa secara otomatis mengurutkan data dari nilai terkecil atau terendah ke nilai tertinggi atau terbesar, ia hanya menampilkan data dari urutan baris pertama ke baris terakhir.
Dan solusi sederhana jika ingin mengurutkan data seperti yang dimaksud di atas, maka cara cepatnya adalah dengan cara mengurutkan data yang ada di lembar kerja terlebih dahulu sebelum ditampilkan ke dalam daftar ListBox.

Kembali ke topik utama tutorial yakni cara mengisi daftar ListBox secara terbalik atau dari bawah (baris terakhir) ke atas (baris awal) atau yang lebih umum disebut dengan istilah Descending.
Perhatikan gambar berikut
susunan isi listbox terbalik
Jika kita perhatikan antara data yang tertulis di lembar kerja dengan daftar-daftar yang ada ListBox, keduanya memiliki susunan yang tidak sama, dimana daftar yang ada di ListBox mengambil data dari baris paling bawah terlebih dulu kemudian menuju data yang ada di baris atasnya.

Untuk melakukan teknik mengisi daftar ListBox secara terbalik, ikuti langkah berikut :
  1. Pastikan anda sudah membuat sekumpulan data yang ditulis dalam lembar kerja seperti contoh gambar di atas
  2. Langkah berikutnya silahkan buat sebuah CommandButton dan ListBox kemudian letakkan di dalam lembar kerja Microsoft Excel, atau bisa juga anda letakkan di dalam UserForm
    design isi listbox terbalik
  3. Klik ganda objek CommandButton yang sudah dibuat dilangkah sebelumnya untuk langsung menuju jendela Microsoft Visual Basic Editor, kemudian silahkan tulis (atau lebih tepatnya copy-paste) kode berikut ke dalam baris kode untuk prosedure CommandButton1_Click
    Dim Isi As Long
    Dim Data As Long
    ListBox1.Clear
    Data = Cells(Rows.Count, "A").End(xlUp).Row
    For Isi = Data To 1 Step -1
     ListBox1.AddItem Cells(Isi, 1)
    Next 
    
    • Kumpulan baris di atas diawali dengan mendeklarasikan nilai Isi dan Data, kemudian dilanjutkan dengan membersihkan isi daftar yang terdapat dalam listbox (ListBox1.Clear). Hal ini bertujuan agar nantinya ketika pengguna memanggil kode ini tidak menambahkan hasil yang sudah ada.
    • Selanjutnya adalah menentukan nilai untuk Data yang berfungsi untuk membaca baris terakhir yang terdapat dalam kolom A dengan cara melakukan pembacaan dari bawah menuju ke atas (xlUp). Silahkan ganti nilai "A" jika data-data tidak berada di kolom ini.
    • Baris kode yang berikutnya adalah mengisi statement Loop For Next yang ditandai dengan nilai Isi dengan cara membaca baris terakhir (nilai Data) menuju baris awal, kemudian dilanjutkan dengan mengisi daftar ListBox1 dengan menggunakan metode AddItem.
  4. Sebelum menguji kode yang sudah dibuat, pastikan terlebih dahulu posisi ikon Design Mode yang terdapat dalam tab Developer sudah dalam posisi disable. Kemudian silahkan anda klik tombol CommandButton untuk melihat hasilnya.
    descending listbox

Loading...

Terimakasih anda sudah berkunjung di saluran materi pembelajaran Microsoft Excel excelive.com, mudah-mudahan anda dapat menemukan sesuatu yang bermanfaat di sini. Dan jangan lupa silahkan bookmark situs ini agar anda mudah mengaksesnya dikemudian hari. See you soon


Dua Cara Menampilkan Isi Dari Listbox Ke Dalam Kotak Pesan

dua cara

Salah satu objek Macro VBA yang sering digunakan para pengembang aplikasi berbasis Microsoft Excel adalah ListBox, bahkan boleh dikatakan bahwa objek yang satu ini pasti ada dalam setiap aplikasi. Ya, objek ini memiliki fungsi utama untuk menampilkan serangkaian nilai yang disajikan dalam sebuah daftar berbentuk kotak (List: daftar, Box: Kotak), yang mana pengguna dapat memilih isi dalam daftar tersebut dengan mudah.

Beberapa metode atau cara dalam mengisi daftar ListBox pun bervariatif, tergantung dengan kebutuhan si pengembang aplikasi. Silahkan anda cek beberapa link berikut untuk mempelajari beberapa cara dalam mengisinya :
  Berbagai cara dalam mengisi daftar di ListBox
  Mengisi ListBox dengan data-data yang sesuai dengan kriteria
  Mengisi ListBox hanya dengan nilai unik saja
atau bisa juga anda lihat daftar postingan yang berhubungan dengan ListBox berikut ini
  Label ListBox



Loading...

Dari beberapa link (posting) yang saya paparkan di atas dapat diambil kesimpulan bahwasanya Excel memberi kita keleluasaan dalam mengolah data untuk menampilkan informasi yang kita inginkan yang tentunya dapat disesuaikan dengan kebutuhan.

Beda cara mengisi daftar di dalam kotak ListBox, beda pula cara atau penulisan kode dalam menampilkan isinya. Dan dalam postingan kali ini, saya akan memberikan kepada anda 2 (dua) buah kode Macro VBA yang dapat anda gunakan untuk menampilkan isi sebuah nilai dalam ListBox ketika ia di klik (dipilih).

Ya, even yang akan kita gunakan untuk menampilkan isi dari salah satu daftar ListBox adalah dengan menggunakan even klik (Click), yakni sebuah even yang akan dijadikan sebagi pemicu untuk menjalankan kode Macro VBA ketika pengguna melakukan klik terhadap ListBox. Dan berikut ini adalah hasil akhir dari tutorial kita kali ini :
ListBox Excelive

Ok. sekarang mari kita mulai tutorial kali ini dengan mengawalinya dengan berdoa, mudah-mudahan apa yang akan kita lakukan ada guna dan manfaatnya.:). Untuk langkah selanjutnya, silahkan ikuti tahap demi tahap berikut ini :
  1. Buatlah sebuah data sederhana mulai dari sel A1 hingga A7 (untuk memudahkan dalam belajar tutorial ini, bisa juga anda isikan data-data di sel tersebut seperti tampilan hasil akhir di atas).
  2. Tekan tombol pintas (Shortcut) ALT + F11 untuk menuju jendela Microsoft Visual Basic Editor (VBE), dan mulailah menambahkan sebuah UserForm dan dilanjutkan dengan meletakkan objek ListBox ke dalamnya.
    Design ListBox
  3. Masih di jendela VBE, klik kanan objek UserForm yang ada di jendela VBAProject dan pilih menu View Code dari menu pop-up yang muncul. Hal ini bertujuan untuk mengganti tampilan objek (design) VBA dengan jendela kode VBA.
    Klik kanan objek VBA
  4. Anda akan dihadapkan dengan sebuah lembar kerja warna putih dan masih bersih karena belum di isi kode-kode atau baris perintah apapun. Di dalam jendela ini, mulailah memilih objek UserForm dan Prosedur Activate dari kotak DropDown masing-masing.
    Prosedur userform aktif
  5. Ok. sekarang kita akan menuliskan baris kode yang sangat sederhana untuk menampilkan data-data yang sebelumnya kita tuliskan dalam kerja untuk ditampilkan dalam kotak ListBox yang terdapat dalam UserForm. Kode-kode ini akan langsung di eksekusi secara otomatis ketika UserForm dibuka atau diaktifkan. Hal ini terjadi karena even atau prosedur yang kita pilih adalah even atau prosedur UserForm_Activate.
    Private Sub UserForm_Activate()
       ListBox1.RowSource = "A1:A7"
    End Sub
  6. Sekarang kita akan tambahkan baris kode yang berfungsi untuk memerintahkan Excel agar mengeksekusi kode ketika isi atau daftar dalam objek ListBox kita klik (pilih). Hal ini dapat dilakukan dengan cara memilih dulu objek serta prosedur yang akan kita gunakan, yakni objek ListBox dan prosedur Click.
    Prosedur Listbox klik
  7. Akhirnya kita sampai pada bagian inti dari tutorial ini, yakni memberikan baris perintah yang bertujuan untuk menampilkan salah satu daftar dalam ListBox ke dalam jendela Kotak pesan.
    Sesuai dengan judul posting, maka silahkan anda pilih salah satu dari dua buah kode berikut yang ingin anda gunakan dan dituliskan ke dalam even ListBox_Click:

    Cara 1
    Private Sub ListBox1_Click()
       a = ListBox1.List(ListBox1.ListIndex, 0) 
       msgbox a  
    End Sub
    Kode ini akan diawali dengan menentukan nilai a dengan perintah membaca seluruh daftar yang terdapat di ListBox, kemudian memilih daftar berdasarkan Index dan mengambil kolom pertama (kolom 0 dibaca sebagai kolom pertama). Kemudian hasil pencarian tersebut akan ditampilkan dalam kotak pesan yang berisi sesuai dengan nilai a

    Cara 2
    Private Sub ListBox1_Click()
       b = ListBox1.ListIndex + 1 
       MsgBox Cells(b, 1) 
    End Sub
    Cara yang ini diawali dengan menentukan nilai b yang berfungsi untuk membaca nilai yang dipilih dalam daftar ListBox berdasarkan index, kemudian ditambah dengan angka +1. Hal ini dikarenakan index 0 dibaca sebagi baris yang pertama dan seterusnya.
    Kemudian hasil pencariannya diambil dari lembar kerja dengan menggunakan paremeter Cells. Penulisan paremeter Cells yakni diawali dengan baris kemudian kolom, sehingga hasil akhir penulisan parameter ini adalah MsgBox Cells(b, 1), di mana nilai b digunakan untuk menentukan barisnya, sementara angka 1 dari parameter ini berfungsi untuk membaca kolom pertama yakni kolom A.

    Kekurangan dari baris kode ini adalah, anda harus mengganti nilai + 1 pada baris kode ListBox1.ListIndex + 1 sesuai dengan letak dimana baris pertama anda dituliskan dalam lembar kerja. Kelemahan lain dari kode ini adalah ai tidak bisa menampilkan isi sel dengan benar ketika daftar yang terisi di dalam ListBox disusun secara terbalik (Descending Order). Untuk tutorial pengisian ListBox dari urutan terbawah, silahkan anda pelajari materi ini Mau Mengisi ListBox dari Bawah ke Atas? Begini Caranya.
  8. Langkah terakhir yang harus dilakukan tentu adalah mengujinya, yakni bisa dilakukan dengan cara menekan tombol F5 di keyboard anda atau bisa juga menekan tombol di menubar.

Perbedaan yang paling mendasar dari dua cara di atas terletak pada metode mengambil nilai dari kotak ListBox, dimana Cara 1 mengambil nilai secara langsung dari kotak ListBox itu sendiri, sementara Cara 2 mengambil nilai dari lembar kerja dengan mengacu kepada hasil pilihan yang dilakukan pada ListBox.
Kesimpulan akhir dari tutorial ini ada pada pribadi masing-masing, mana dari kedua kode tersebut yang dirasa sesuai dengan kebutuhan. Adios.

Loading...


Berbagai Cara Mengisi Daftar ListBox

Cara-cara mengisi ListBox

ListBox adalah sebuah elemen kontrol grafis yang memungkinkan pengguna untuk memilih satu atau beberapa item dari daftar yang terdapat dalam kotak yang umumnya terdiri dari beberapa baris, dan pengguna diberikan akses untuk mengeklik di dalam kotak pada item untuk memilihnya, terkadang dikombinasikan dengan Shift atau Ctrl untuk membuat beberapa pilihan.

Lalu muncul sebuah pertanyaan sederhana, darimana daftar item yang terdapat dalam ListBox tersebut berasal?
Setidaknya ada dua jawaban untuk menjawab asal item dari daftar ListBox yakni bisa diisi secara manual atau ditulis langsung dalam baris kode Macro VBA dan bisa juga diisi sesuai dengan data-data yang terdapat dalam lembar kerja Microsoft Excel. Nah, untuk cara yang kedua bisa dimodifikasi sesuai dengan kebutuhan untuk mendapatkan informasi yang diinginkan.

Pada bagian ini excelive.com akan mengupas tuntas tentang beragam cara dalam mengisi daftar yang terdapat di dalam ListBox, tentunya dengan menggunakan Macro VBA.

Ok. langsung saja buka aplikasi Microsoft Excel dan segera aktifkan jendela Microsoft Visual Basic Editor yang bisa anda lakukan dengan cara menekan tombol pintas ALT + F11. Juga, pastikan bahwa keamanan Macro Security Microsoft Excel sudah di nonaktifkan agar kode yang sudah ditulis nantinya bisa dijalankan.

Dalam jendela Microsoft Visual Basic Editor buat sebuah UserForm dan tempatkan sebuah ListBox didalamnya, seperti tampak dalam gambar berikut :
Userform dan ListBox
Setelah anda selesai mendesain interface seperti di atas, saatnya mengisi daftar-daftar item di dalam ListBox.
Dan untuk tutorial kali ini, kita akan menjalankan kode-kode Macro VBA agar secara otomatis dieksekusi ketika UserForm1 di buka, oleh karena itu maka Objek yang harus dipilih adalah UserForm sementara prosedurnya adalah Activate atau bisa juga memilih prosedur Initialize.

Metode Pengisian 1 - Cara Manual
Cara yang paling sederhana dalam mengisi daftar item di ListBox adalah dengan cara menuliskannya secara manual di baris kode Macro VBA dengan menggunakan parameter AddItem seperti berikut :
ListBox1.AddItem "abc"
ListBox1.AddItem "def"
ListBox1.AddItem "ghi"
ListBox1.AddItem "jkl"
Baris kode di atas berfungsi untuk menambahkan 4 buah item di ListBox1, dan karena cara penulisan tersebut memiliki pengulangan untuk objek ListBox1, maka hal ini bisa disempurnakan dengan model syntax penulisan seperti berikut
With ListBox1
  .AddItem "abc"
  .AddItem "def"
  .AddItem "ghi"
  .AddItem "jkl"
End With
Kedua model syntax penulisan kode di atas memiliki fungsi yang sama, yakni menambahkan item di dalam objek ListBox dengan cara ditulis secara manual.

Metode Pengisian 2 - Daftar Tetap
Cara berikut ini adalah dengan menggunakan bantuan sebuah lembar kerja yang berisi data-data yang akan ditampilkan dalam daftar item di ListBox yang sudah ditentukan dan sifatnya tetap.
ListBox1.RowSource = "A1:A5"
Baris kode di atas akan membaca data-data yang terdapat dalam lembar kerja dari sel A1 hingga sel A5 untuk kemudian di tampilkan dalam kotak ListBox

Metode Pengisian 3 - Daftar Dinamis
Sama seperti metode pengisian 2 yakni dengan menggunakan bantuan lembar kerja yang digunakan sebagai isi dari daftar yang terdapat dalam ListBox, akan tetapi untuk metode pengisian kali ini daftar tersebut sifatnya dinamis, artinya bahwa penambahan isi daftar ListBox akan secara otomatis berubah ketika data-data yang terdapat di lembar kerja mengalami penambahan juga.
Dan salah satu baris kode yang bisa digunakan untuk membuat isi daftar ListBox bersifat dinamis adalah seperti berikut :
Dim akhir As Variant
akhir = Sheets("Sheet1").Range("a1").CurrentRegion.Rows.Count
For x = 1 To akhir
    ListBox1.AddItem Cells(x, 1)
Next


Loading...

Baris kode di atas, variabel akhir difungsikan untuk mengetahui baris akhir yang berisi data berdasarkan data-data yang tertulis dikolom A.
Ada beberapa cara lainnya dalam menentukan posisi baris terakhir yang berisi data, namun untuk tutorial ini saya menggunakan parameter CurrentRegion yang menurut saya lebih mudah penggunaannya.
Silahkan lihat disini untuk pembahasan CurrentRegion lebih lanjut

Metode pengisian daftar ListBox menggunakan parameter AddItem, namun kali ini item di ambil dari lembar kerja yang sudah ditentukan yakni dimulai dari sel A1 hingga sel terakhir yang berisi data, juga pengisiannya dikombinasikan dengan penggunaan fungsi Loop agar daftar di ListBox mengikuti perubahan atau penambahan yang terjadi di lembar kerja.

Untuk mengetahui tutorial penggunaan Loop, baca tutorial-tutorial berikut :
 Solusi Handal Melakukan Pencarian
 Kombinasi Fungsi Match dan Index
 Mengenal Formula Pembulatan Angka
 Konversi Angka ke Huruf

Metode Pengisian 4 - Daftar Spesifik
Metode pengisian daftar ListBox model ini merupakan kombinasi dari metode-metode di atas, akan tetapi dengan menambahkan sebuah kriteria tertentu agar daftar yang ditampilkan di ListBox sesuai dengan kriteria yang dimaksudkan.
Lihat tutorialnya disini

Metode Pengisian 5 - Daftar Unik
Jika anda memiliki kumpulan data-data dalam lembar kerja, dan kemudian anda ingin menampilkannya ke dalam jendela ListBox namun hanya ingin menampilkan data yang sifatnya unik (tidak dobel), maka anda bisa pelajari panduannya disini

Metode Pengisian 6 - Daftar Dari Lembar Kerja Lain
Ok, sekarang kita akan mencoba mengisi ListBox namun berasal dari lembar lain. Dan untuk melakukan hal ini, maka pengisian ListBox dengan menggunakan syntax penulisan standar seperti yang metode-metode diatas - bisa dipastikan tidak akan berhasil. Dan solusinya adalah dengan menggunakan alternatif kode berikut:
Dim rng As Range
Dim i As Long
Set rng = Worksheets("Sheet2").Range("a1:a5")
For i = 1 To 5
With Me.LB1
   .AddItem rng(i, 1)
End With
Next i
Dari kode diatas saya mengasumsikan saat ini anda berada di posisi selain lembar kerja kedua (sheet2), sementara dilembar kerja ini (Lembar kerja / Sheet2) terdapat beberapa data-data dari sel A1 hingga A5 yang kesemuanya ingin anda tampikan di ListBox.
Dan jika anda cermati, metode pengisian daftar ListBox ini menggunakan syntax "AddItem" seperti yang dilakukan pada Metode 1, akan tetapi untuk setiap itemnya tidak ditulis atau di isi secara manual, melainkan menggunakan fungsi For..Next agar daftar dapat terisi secara otomatis.

Metode Pengisian 7 - Daftar Terdiri Dari 2 Kolom / Lebih
Tidak ubahnya dengan cara sebelumnya, akan tetapi metode ini mengambil data-data di lembar kerja lain yang terdiri dari 2 (dua) kolom atau lebih. Berikut contoh lengkapnya:
Dim rng As Range
Dim i As Long
Set rng = Worksheets("Sheet2").Range("a1:B5")
For i = 1 To 5
With Me.LB1
   .AddItem rng(i, 1)
   .List(.ListCount - 1, 1) = rng(i, 2)
End With
Next i

Metode Pengisian 8 - Daftar Nama Bulan Terakhir
Ingin mengotomatisasi daftar di ListBox dengan nama-nama bulan, dan anda hanya menampilkan nama beberapa bulan terakhir saja di dalamnya. Silahkan anda pelajari panduannya disini

Metode Pengisian 9 - Daftar Array
Cara ini adalah cara yang paling praktis jika anda ingin mengisi daftar yang ada di dalam ListBox secara manual, yakni menggunakan metode Array seperti ini
ListBox1.List = Array("satu","dua","tiga","dst...")
Selain untuk ListBox, tentu juga bisa digunakan untuk ComboBox Lho!...

Loading...



Mengisi ListBox Dengan Data Spesifik Dari Sebuah Lembar Kerja

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.



Loading...

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.


Loading...


Our Services


design

all the design of each tutorial has passed the test for excel 2007 up

installation

every each codes on this site are provided "as is" and are easy to install

youtube

in order to facilitate you in learning excel, you can visit our channel here

download

to complete all excel lessons, we have provided a download link for you

Contact Us


EXCELIVE.com
is a blogger resources site who provides
best excel tutorial based on daily needs.
The main mission of excelive is to share
our little experience in excel
to deliver best time killer for your excel issues.
Singhasari Malang 65153
East Java

Interested for our works and services?
Get more of our update !

end of page