You've probably noticed

We love Excel

Author

When some user experience severe excel problem, it is not uncommon for their job activity to disturbed.
My great passion is bringing solution to some user who have been trought those experience, so they can save their times fixing excel issues.

  • myexcelive@gmail.com
  • www.excelive.com
  • READ MORE
Me

What will you get here

We have been work hard to bringing something useful for you in order to help your excel issues

Macro VBA 70%
Formula Excel 45%
Tips and Tricks 15%
Miscellaneous 25%

Expertise

We share the tutorials that we ourselves have tested in the workplace and slightly refine it to make it easy for you

Our Article

Every article on this site is presented explicitly so that you can understand the purpose of each tutorial.

Efficiency

We provides examples of just for illustration only, and we do not guarantee that they can be used in all situations.

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

Design

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

Tampilkan postingan dengan label ListBox. Tampilkan semua postingan
Tampilkan postingan dengan label ListBox. Tampilkan semua postingan
  • Cara Menempatkan Beberapa Item atau Anggota ke Dalam Grup Secara Acak

    drawing anggota ke dalam grup excelive.com - Pada edisi kali ini, tutorial yang akan saya share berikut sangat cocok bagi anda yang ingin membagi atau memisah beberapa item atau anggota ke dalam beberapa grup atau kelompok yang berbeda, serta dilakukan secara acak. Konsep seperti ini bisa dijumpai pada hasil pembagian siswa-siswi di setiap kelas, atau hasil pembagian peserta kelompok pramuka, hingga bisa anda jumpai pada hasil drawing piala champions, yang mana semuanya dilakukan secara acak.

    Okelah, mungkin contoh terakhir agak sedikit terlalu memaksa - tapi memang konsep tutorial ini bisa menghasilkan pembagian anggota kelompok ke dalam grup yang berbeda. Silahkan anda lihat tampilan berikut ini.
    menempatkan anggota ke dalam grup

    Untuk membuat seperti yang tampak di atas, saya menggunakan kombinasi antara formula Excel dengan Macro VBA, di mana formula excel saya gunakan untuk mengecek dan menentukan item atau anggota ke dalam grup atau tim dengan ukuran tertentu, sementara Macro VBA saya gunakan untuk menempatkan hasil pembagian tersebut dalam beberapa ListBox yang ada dalam UserForm.

    Sebelum melangkah lebih jauh lagi, ada baiknya kita tengok beberapa data yang terdapat dalam lembar kerja yang akan kita gunakan sebagai sumber pembuatan dalam tutorial ini.
    memisah anggota grup
    Dua kolom yang akan kita isi dengan formula excel adalah kolom B dan kolom C, yang mana masing-masing kolom tersebut dapat diisi dengan formula sebagai berikut :
    Formula Excel
    isi sel B2:
    =RAND()
    isi sel C2:
    =ROUNDUP(RANK(C2;$B$2:$B$13)/$F$1;0)

    Anda bisa copy-paste kedua formula tersebut hingga sel terakhir yang berisi data, atau hingga sel B13 dan C13.

    Saya pikir disini saya tidak akan banyak menjelaskan fungsi dari kedua formula di atas, karena saya yakin anda sudah cukup familier dengan keduanya. Akan tetapi untuk formula yang kedua atau yang ditulis di kolom C, terdapat sebuah nilai yang mengacu ke sel F1 (warna merah), hal ini bertujuan untuk menentukan berapa banyaknya jumlah anggota yang ada dalam satu grup.

    Sehingga, untuk formula yang terdapat di dalam kolom C bisa diartikan sebagai berikut :
    ROUNDUP atau melakukan pembulatan terhadap hasil yang didapatkan dari formula RANK dengan kriteria yang ada di range B2 hingga B13, kemudian dibagi dengan jumlah atau nilai yang ada di sel F1.

    Oke, untuk lebih memahami tutorial kali ini, silahkan anda baca lagi beberapa tutorial terkait berikut :
    Menggunakan RANK
    Cara membuat nilai Acak
    Berbagai cara menampilkan hasil ke kotak ListBox
    ListBox berisi data-data unik

    Nah, karena saya menginginkan hasil penempatan anggota tim yang ada dalam grup dibagi secara otomatis dan acak, maka kedua formula di atas saya konversi ke dalam kode Macro VBA, hingga menjadi seperti ini :
    Macro VBA untuk mendapatkan Nilai Acak
    Dim i As Long
    Call IsiData
    For i = 2 To Akhir
        Cells(i, 3) = Rnd
    Next

    Macro VBA untuk menentukan hasil pembagian anggota
    Dim r As Double
    For r = 2 To Akhir
        Cells(r, 2) = WorksheetFunction.RoundUp _
        (WorksheetFunction.Rank(Cells(r, 3), _
        Range("C2:C" & Akhir)) / [F1], 0)
    Next
    

    Sebagai tambahan, saya akan membuat sebuah variabel yang sifatnya public (kode berwarna merah) sehingga ia bisa digunakan di seluruh project vba yang sedang aktif, sehingga kita hanya tinggal memanggil nama variabel tersebut ketika ingin menggunakannya tanpa harus menuliskan lagi kode-kodenya.

    Untuk tutorial kali ini saya membuat sebuah variabel yang berfungsi untuk menentukan jumlah data yang terdapat dalam lembar kerja (variabel : isi) serta membuat sebuah variabel yang bertugas untuk menentukan baris terakhir yang berisi data (variabel : Akhir). Kedua variabel ini saya masukkan ke dalam Module, seperti berikut
    Option Explicit
    Public Akhir As Long
    Public isi As Integer
    
    Sub IsiData()
    isi = Application.WorksheetFunction.CountA(Range("A1:A" & Akhir))
    Akhir = Range("A1").End(xlDown).Row
    End Sub

    Sementara untuk menempatkan nama-nama anggota ke dalam masing-masing ListBox seperti contoh di atas, saya menuliskan kode berikut di dalam sebuah module
    Sub grup1()
    Dim Data As Variant
    Dim i As Long
    
    Data = Range("A2:C" & Akhir)
    UserForm1.ListBox1.Clear
    For i = 1 To UBound(Data)
    If Data(i, 2) = 1 Then
    With UserForm1.ListBox1
       .AddItem Data(i, 1)
    End With
    End If
    Next i
    End Sub
    Kode di atas digunakan untuk menempatkan nama-nama anggota ke dalam grup1 yang letaknya ada di dalam sebuah kotak bernama ListBox1 yang terdapat dalam userform dengan Name UserForm1, artinya jika anda mempunyai Name UserForm serta ListBox yang berbeda maka silahkan ganti nama dari masing-masing kontrol tersebut.
    Untuk membuat grup2 dan grup3, silahkan ganti nilai 1 menjadi nilai 2 dan 3.

    Setelah selesai membuat kode-kode yang ada dalam module, kini saatnya kita mengerjakan kode yang terdapat di dalam UserForm dengan asumsi bahwa objek-objek yang terdapat dalam UserForm anda memiliki beberapa objek seperti contoh di atas, antara lain :
    • Nama Userform = UserForm1
    • TextBox1 = Jumlah Group
    • CommandButton1 = Acak
    • CommandButton2 = Pasang
    • ListBox1 = Grup1
    • ListBox2 = Grup2
    • ListBox3 = Grup3

    Prosedur ketika UserForm Aktif
    Private Sub UserForm_Activate()
    Dim i As Long
    Call IsiData
    For i = 2 To Akhir
        Cells(i, 3) = Rnd
    Next
    End Sub
    Prosedur ketika pengguna memasukkan nilai di kotak TextBox1
    Private Sub TextBox1_Change()
    On Error Resume Next
    [F1] = isi / (TextBox1 * 1)
    End Sub

    Kode yang terdapat dalam CommandButton1 = Acak
    Untuk kode yang ada dalam CommandButton ini, silahkan masukkan kode Macro VBA untuk mendapatkan nilai acak yang sudah saya tulis disini

    Script Macro VBA untuk menempatkan anggota ke dalam masing-masing ListBox
    Saya berasumsi bahwa anda sudah berhasil menulis module untuk masing-masing grup, karena untuk kode yang terdapat di CommandButton ini bertugas memanggil kode-kode tersebut, serta di gabung dengan kode ini. Dan kode akhir untuk tombol ini adalah seperti berikut :
    Private Sub CommandButton1_Click()
    Dim r As Double
    For r = 2 To Akhir
        Cells(r, 2) = WorksheetFunction.RoundUp(WorksheetFunction.Rank(Cells(r, 3), Range("C2:C" & Akhir)) / [F1], 0)
    Next
    
    Call grup1
    Call grup2
    Call grup3
    End Sub

    Selesai.... silahkan anda lakukan test dengan cara menekan tombol yang terdapat di menubar.
    Semoga tutorial ini ada manfaatnya untuk anda. Dan jangan lupa silahkan klik tombol subscribe jika anda tidak ingin ketinggalan tutorial excel lainnya dari excelive.com Gracias

  • 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

    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
    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.

    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
    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

    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.

  • 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
    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!...


  • Still haven't found what are you looking for

    We have provided a complete list of articles on this site to make it easier for you and giving the best solution for your excel issues

    VISIT LINK
    DMCA.com Protection Status

    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.
    T.O.S
    Term of service

    Read More
    Download Area
    to complete all excel lessons, we have provided a download link for you Find Here
    Copyright © 2015 - excelive.com. Some rights reserved.
    equipped with by blogger