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
  • Skrip Macro VBA Untuk Memilih Beberapa Daftar ListBox Dan Mengekstrak ke Lembar Kerja

    Multiselect ListBox ItemsIstilah ini secara umum di sebut dengan nama MultiSelect, dimana pengguna bisa memilih beberapa isi atau daftar yang ada di dalam ListBox sekaligus sehingga bisa mempercepat pekerjaan atau setidaknya dapat digunakan untuk keperluan lain yang dituntut untuk memilih beberapa item dalam satu waktu.

    Dalam beberapa keperluan misalnya, kita memilih beberapa daftar item yang terdapat di ListBox kemudian menempelkan hasil dari beberapa pilihan tersebut ke dalam lembar kerja yang diinginkan. Jika diterjemahkan maka hasil akhir yang akan kita buat dalam tutorial kali ini adalah seperti tampilan berikut :
    Membuat MultiSelect ListBox
    Secara lengkap, langkah-langkah untuk membuatnya adalah sebagai berikut :
    1. Buka Visual Basic Editor dengan cara menekan tombol Alt+F11 kemudian silahkan buat sebuah UserForm melalui menu Insert --> UserForm dan lanjutkan dengan meletakkan beberapa beberapa Control seperti tampilan berikut:
      desain userform multiselect
    2. Lanjutkan dengan cara klik kanan object UserForm kemudian pilih ViewCode dari menu popup yang muncul
      view code UserForm
    3. Copy paste kode-kode berikut ke dalamnya
      Kode 1 - UserForm Activate
      Private Sub UserForm_Activate()
         ListBox1.List = Array("Satu", "Dua", "Tiga", "Empat", "Lima", "Enam", "Tujuh")
         ListBox1.MultiSelect = fmMultiSelectMulti
      End Sub
      Penjelasan singkatnya Kode ini akan langsung mengisi daftar ListBox sesuai dengan data array ketika UserForm dibuka atau diaktifkan.
      Tutorial terkait bisa anda lihat disini
      Kode 2 - Tombol CommandButton1 (Tambah)
      Private Sub CommandButton1_Click()
      Dim Pilih As String
      Dim Isi As Long
      Dim Pemisah As String
      Dim Insert As String
      
      On Error Resume Next
      Pemisah = ", "
      
      With Me.ListBox1
         For Isi = 0 To .ListCount - 1
            If .Selected(Isi) Then
               Insert = .List(Isi)
            Else
               Insert = ""
            End If
            
            If Pilih = "" Then
               Pilih = Insert
            Else
               If Insert <> "" Then
                  Pilih = Pilih & Pemisah & Insert
               End If
            End If
         Next Isi
      End With
      
      With ActiveCell
          .Value = ""
         If .Value <> "" Then
            .Value = ActiveCell.Value & Pemisah & Pilih
         Else
            .Value = Pilih
         End If
      End With
      
      Unload Me
      End Sub
      Penjelasan singkatnya Sekilas kode ini tampak rumit, namun sebenarnya tidak demikian, karena pada dasarnya ia membaca beberapa jumlah item yang dipilih di ListBox - ketika jumlah yang dipilih lebih dari satu maka hasil yang ditempelkan di lembar kerja adalah nama atau nilai-nilai tersebut dengan disertai tanda baca koma (,)
      Kode 3 - Tombol CommandButton2 (Tutup/Batal)
      Private Sub CommandButton1_Click()
          Unload me
      End Sub
      Penjelasan singkatnya Ini adalah kode yang sangat sederhana dari tutorial ini, yakni berfungsi untuk menutup jendela userform tanpa menyimpan informasi apapun di lembar kerja

      Dari sini anda sudah bisa menguji apakah kode-kode yang sudah ditulis berhasil atau tidak dengan cara menekan tombol yang terdapat di menubar atau bisa juga dengan menekan tombol F5 yang ada di keyboard Anda. Dan hasilnya bisa anda lihat seperti tampilan di atas.

      Selanjutnya adalah kode pilihan yang bisa anda masukkan ketika anda ingin agar UserForm muncul secara otomatis ketika pengguna memilih alamat sel-sel tertentu, misalnya ketika pengguna mengklik rentang sel A1 hingga sel B5. dan berikut kode yang bisa anda masukkan ke dalam prosedur Worksheet_SelectionChange
      Kode 4 - Optional
      Private Sub Worksheet_SelectionChange(ByVal Target As Range)
      If Not Intersect(Target, Range("A1:B5")) Is Nothing Then
          UserForm1.Show
      End If
      End Sub

    Selamat...Anda sudah berhasil mengekstrak beberapa isi atau nilai yang terdapat di ListBox ke dalam lembar kerja Microsoft Excel melalui sebuah UserForm. Jika tutorial ini memberikan manfaat kepada anda, silahkan bantu share ke media sosial. Thank you for visiting

  • Panduan Lengkap Menyusun Daftar ListBox Sesuai Abjad Dari Data Acak

    mengurutkan abjad Salah satu Control VB yang dapat menampilkan nilai atau data-data yang ada dalam lembar kerja yang berfungsi untuk mempermudah pengguna dalam memlihnya adalah ListBox. Ia akan menampilkan apa yang ada di lembar kerja Microsoft Excel sesuai dengan urutan yang semestinya. Akan tetapi dengan memberikan sedikit sentuhan dari standar kode VBA, kita akan mampu menyusun ulang daftar di ListBox secara berurutan tanpa harus merubah urutannya di lembar kerja.

    Sebenarnya cara ini adalah trik akhir yang bisa dilakukan jika anda melakukan 'kesalahan' dalam menyusun data-data dalam lembar kerja yang tidak diurutkan berdasarkan abjad namun tetap memaksa menampilkan secara berurutan ke dalam ListBox. Karena bagaimanapun juga, trik ini akan mempengaruhi kinerja atau kecepatan loading sebuah ListBox. Dengan kata lain, jika ingin mengurutkan daftar ListBox berdasarkan abjad maka ada baiknya mengurutkan data-data yang terdapat di dalam lembar kerja terlebih dahulu sebelum menampilkannya.

    Oke, kita akan mulai dengan menyiapkan data-data dilembar kerja yang disusun secara acak seperti tampilan berikut :
    data sort lembar kerja

    Selanjutnya buka Microsoft Visual Basic Editor dengan cara menekan tombol Alt+F11 dan kita mulai membuat design UserForm yang didalamnya memuat sebuah ListBox untuk menampilkan data-data dan sebuah CommandButton untuk memanggil data dari lembar kerja dan kemudian menyusunnya secata berurutan berdasarkan abjad.
    design userform dan listbox

    Setelah selesai mendesain, kini saatnya menulis serangkaian kode Macro VBA untuk mengurutkan data secara otomatis. Caranya klik ganda CommandButton untuk langsung menuju jendela kode, selanjutnya copy - paste kode berikut ke dalamnya
    Dim i As Long
    Dim j As Long
    Dim xx As Long
    Dim Temp As Variant
    With ListBox1
        xx = Worksheets("Sheet1").Cells(Rows.Count, "A").End(xlUp).Row
        For s = 1 To xx
            .AddItem Cells(s, 1)
        Next s
        
        For i = 0 To .ListCount - 2
            For j = i + 1 To .ListCount - 1
                If .List(i) > .List(j) Then
                    Temp = .List(j)
                    .List(j) = .List(i)
                    .List(i) = Temp
                End If
            Next j
        Next i
    End With

    Untuk mengujinya, silahkan anda tekan tombol F5 di keyboard atau bisa juga anda klik icon yang ada di menubar. Dan hasil akhir akan tampak seperti berikut :
    sort listbox

    Selamat, Anda sudah berhasil mengurutkan daftar ListBox dari data acak yang berasal dari lembar kerja secara otomatis berdasarkan susunan abjad.
    Terimakasih sudah berkunjung, semoga tutorial kali ini memberikan manfaat Thanks for visiting


  • Memilih Isi Daftar ListBox Dengan Menggunakan Tombol Enter

    Fill Form ListBox Jika masih bertanya tentang bagaimana cara mengisi daftar ListBox, maka silahkan lihat beberapa tutorial terkait cara mengisi ListBox - karena saya tidak akan menjelaskannya di postingkan kali ini agar bisa lebih fokus terhadap tutorial yang akan kita bahas saja.

    Oke, saya berasumsi bahwa anda sudah cukup mahir mengisi daftar-daftar ListBox yang bisa anda pelajari melalui link yang sudah saya sediakan di atas. Selanjutnya adalah, kita akan mencoab memilih daftar-daftar yang terdapat dalam ListBox dengan menggunakan tombol Enter dan menampilkan informasi yang terkait dengan data tersebut.

    Sebelumnya, silahkan buat sebuah tabel yang berisi data-data yang diletakkan di sebuah lembar kerja untuk nantinya diletakkan di ListBox. Dan untuk tutorial ini, saya sudah menyiapkan data sebagai berikut:
    nama karyawan

    Jika anda perhatikan, maka daftar yang tampil di ListBox harusnya persis seperti apa yang tertulis di lembar kerja, yakni sejumlah 3 kolom dan berisi 5 buah baris yang memuat nama-nama karyawan. Sehingga jika di desain dalam sebuah UserForm maka akan terlihat seperti berikut :
    Daftar ListBox
    Dari tampilan di atas, terdapat sebuah kotak yang terdapat di sebelah ListBox. Kegunaan dari kotak ini (TextBox) adalah sebagai tempat untuk menampilkan informasi dari setiap baris atau nilai yang dipilih di ListBox, juga bisa digunakan sebagai tempat untuk merubah data yang terkait dengan daftar yang terpilih.

    Untuk langkah selanjutnya adalah kita menuliskan serangkaian baris kode berikut
    Kode UserForm
    Untuk menempatkan kode berikut ini, silahkan klik kanan objek UserForm yang sudah didesain kemudian pilih view code untuk langsung menuju jendela kode. Selanjutnya copy paste kode berikut ini yang sudah dilengkapi dengan even dan prosedur untuk masing-masing kontrol
    Private Sub UserForm_Activate()
    ListBox1.RowSource = "A2:C6"
    ListBox1.ListIndex = 0
    End Sub
    '--------------
    Private Sub ListBox1_Click()
    TextBox1 = ListBox1.Column(2)
    TextBox1.SetFocus
    End Sub
    '--------------
    Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
    If KeyCode = 13 Then
    If ListBox1.ListIndex + 1 = ListBox1.ListCount Then
        Cells(ListBox1.ListIndex + 2, 3) = TextBox1
        If MsgBox("Anda sudah berada di daftar paling akhir" & vbCr & _
               "Klik tombol YES jika ingin mengulang dari awal", vbYesNo) = vbYes Then
            ListBox1.ListIndex = 0
            TextBox1.SetFocus
            Call aa
            Else
            Call aa
        End If
        Else
        Cells(ListBox1.ListIndex + 2, 3) = TextBox1
        ListBox1.ListIndex = ListBox1.ListIndex + 1
        Call aa
        tb1 = ""
    End If
    End If
    End Sub
    
    Penjelasan singkat rangkaian kode di atas :
    • Menentukan isi daftar ListBox yang berasal dari range A2:C6 serta memilih daftar pertama yang terdapat di ListBox. Dua baris kode ini akan berjalan otomatis ketika UserForm dibuka
    • Disaat yang bersamaan pula, ketika isi ListBox terpilih maka kursor otomatis menuju kotak TextBox
    • Ketika kursor sudah berada di dalam kotak TextBox maka selanjutnya even yang saya pilih adalah KeyDown, artinya ketika pengguna menekan tombol-tombol yang terdapat di keyboard maka akan menjalankan perintah sebagai berikut :
      • Menentukan tombol yang hanya berlaku untuk even ini adalah tombol ENTER (keycode = 13)
      • Jika ternyata urutan daftar yang terpilih adalah sama dengan jumlah banyaknya daftar yang ada dalam ListBox, maka sebuah jendela informasi akan muncul. Dijendela informasi ini juga saya menyematkan sebuah logika yang bertujuan apakah pengguna ingin mengulangi dari awal atau tidak
      • Jika urutan daftar yang terpilih bukan data terakhir maka perintah atau kode yang akan dieksekusi adalah kode aa yang berikutnya saya tulis dalam sebuah module
    Setelah anda selesai menulis baris kode untuk UserForm, sekarang saatnya menuliskan kode di dalam module.

    Kode Module
    untuk meletakkan kode ini, maka yang harus anda lakukan terlebih dahulu adalah dengan membuat module baru dengan cara klik menu Insert kemudian klik Module, selajutnya copy-paste kode ini di dalamnya
    Sub aa()
    Application.OnTime Now + TimeValue("00:00:01"), "bb"
    End Sub
    '--------------
    Sub bb()
    With UserForm1
        .TextBox1.SetFocus
        .TextBox1 = .ListBox1.Column(2)
    End With
    End Sub

    Jika anda mengikuti langkah-langkah di atas secara tepat, hasil yang akan anda dapatkan ketika menekan tombol di menubar, maka akan tampak seperti tampilan berikut:
    memilih listbox dengan enter

    Selamat...anda sudah berhasil memilih item-item yang terdapat di dalam daftar ListBox dengan menggunakan tombol Enter yang terdapat di keyboard, juga anda bisa langsung merubah informasi yang terkait dengan item tersebut melalui kotak TextBox yang tersedia.
    semoga tutorial yang cukup singkat ini memberikan manfaat untuk anda. Adios

  • 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

    Tutorial ini memuat Macro VBA, jadi pastikan hasil akhir dari tutorial ini disimpan menggunakan format Excel Macro-Enable Workbook
    .xlsm
    atau Excel Binary Workbook
    .xlsb
  • 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!...


  • Menggeser Isi Data ListBox Ke Atas Atau Ke Bawah

    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 klik ikon > di standard Toolbar atau gunakan tombol pintas F5
    Hasil akhir dari tutorial kali ini tampak dalam ilustrasi berikut:
    Menggeser value naik atau rutun
  • Cara Mengisi ListBox Dengan Nilai Unik dari Data Ganda

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

    Sekarang anda sekarang sudah berhasil mengisi ListBox Microsoft Excel dengan nilai yang sifatnya unik. Semoga Anda menyukai tutorial dari excelive untuk edisi ini. Kunjungi kami lain waktu untuk mengetahui kehebatan Microsoft Excel lainnya, We'll be right back soon.


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