• 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


    Artikel Terkait

  • 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 © 2016 - excelive.com. Some rights reserved.
    Menyalin sebagian atau keseluruhan materi situs hanya diperbolehkan dengan tautan balik terbuka ke sumbernya.
    equipped with by blogger