Tampilkan postingan dengan label InputBox. Tampilkan semua postingan
Tampilkan postingan dengan label InputBox. Tampilkan semua postingan

Lakukan Cara Ini Untuk Mengedit Isi Sel Secara Langsung Dari ListBox

change value directly

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

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



Loading...

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

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

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

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

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

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

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

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

Berikut adalah tampilan akhir dari tutorial kita kali ini

Loading...
ganti isi ListBox

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

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

Mencari dan Memberikan Warna Interior Pada Kata yang Terpilih

warna interior sel

Tutorial ini merupakan gabungan dari tutorial-tutorial sebelumnya dan salah satunya adalah yang membahas tentang cara menggunakan paremeter .FIND dalam kode Macro VBA dan menambahkan baris kode baru yang berfungsi untuk memberikan warna interior pada hasil pencarian yang ditemukan. Jadi, ada baiknya anda memahami isi materi dari tutorial sebelumnya.



Loading...

Setidaknya ada 2 (dua) macam warna interior yang akan kita gunakan dalam tutorial kali ini, yakni warna background sel (interior) dan warna font. Kedua warna inilah yang nantinya akan kita kombinasikan dengan hasil pencarian. Dan sebelum memulai tutorialnya, saya akan berikan dulu kode penulisan beberapa warna standar (baca:konstan) yang digunakan dalam Macro VBA yang sangat mudah untuk diingat, yakni
vbWhite vbYellow vbCyan vbRed vbMagenta vbGreen vbBlue vbBlack

Kembali ke topik pembahasan.
Seperti biasa kita buat terlebih dahulu beberapa data di dalam lembar kerja Microsoft Excel yang diletakkan di sepanjang kolom A, yang mana nantinya akan kita berikan warna background sel maupun fontnya ketika berhasil ditemukan dengan bantuan kotak input.
Isi Lembar Kerja

Sekarang, saatnya kita mulai bekerja.
  1. Langkah pertama yang bisa anda lakukan setelah membuat data sederhana adalah dengan membuat sebuah objek Macro VBA berupa CommandButton yang diletakkan dalam lembar kerja yang digunakan untuk menampilkan jendela InputBox.
    CommandButton dalam lembar kerja
  2. Langkah selanjutnya adalah, klik 2x objek objek CommandButton yang telah dibuat pada langkah sebelumnya untuk langsung menuju jendela Microsoft Visual BAsic Editor. Namun sebelumnya, pastikan dulu bahwa objek Design Mode masih dalam posisi aktif
  3. Di dalam jendela kode yang berhasil dibuka, anda akan dihadapkan dengan beberapa baris perintah yang dimiliki oleh objek CommandButton yang didalamnya masih kosong
    empty code
  4. Sekarang isikan dalam baris kosong tadi dengan kode Macro VBA berikut
    On Error GoTo x
    Range("A1", Range("A" & Rows.Count).End(xlUp)).Font.Color = None
    Range("A1", Range("A" & Rows.Count).End(xlUp)).Interior.Color = xlNone
    Cari = Application.InputBox("Silahkan masukkan kata kunci yang ingin cari", ".find")
    
    If Cari <> False Then
      Set a = Range("A:A").Find(Cari, LookAt:=xlValue)
      Range(a.Address).Font.Color = vbWhite
      Range(a.Address).Interior.Color = vbRed
      MsgBox "Kata yang anda cari ada di sel " & vbCr & a.Address(False, False)
    End If
    
    Exit Sub
    x:MsgBox "Maaf. tidak ada hasil pencarian yang bisa ditampilkan"
    
    Penjelasan sederhana dari kode di atas adalah
    • Kode diawali dengan sebuah pernyataan error, yang mana ketika terjadi error (data tidak ditemukan) maka kode akan langsung lompat ke perintah x
    • Dua baris kode berikutnya adalah untuk mengembalikan warna font dan warna background sel ke warna asal.
      yang perlu diperhatikan adalah, ada perbedaan kode untuk warna default antara keduanya, yakni untuk font menggunakan perintah None, sementara untuk background sel menggunakan xlNone. Dan perintah untuk mengembalikan warna default tersebut hanya diberlakukan di sepanjang kolom A
    • Setelah warna dikembalikan ke bentuk asalnya, perintah selanjutnya yang akan dijalankan ada pada baris kode yang ditentukan oleh nilai Cari, yakni sebuah kode yang berfungsi untuk menampilkan jendela InputBox
    • Baris inti untuk memberikan warna pada sel terpilih diawali dengan statemen IF, yakni jika nilai Cari benar atau ketika pengguna menekan tombol OK, maka kode berikutnya akan dijalankan
    • Di dalam statemen IF, isi baris kode dimulai dengan menentukan terlebih dahulu nilai a yang berfungsi mencari nilai yang dimasukkan dari jendela InputBox di sepanjang kolom A. Kemudian di lanjutkan dengan mewarnai :
      - Font dengan warna putih
      - Background Sel dengan warna merah
      Selanjutnya memberikan infomasi kepada pengguna berupa kotak pesan yang berisi bahwa kata yang dicari terdapat pada sebuah sel
  5. Langkah terakhir yang harus dilakukan tentunya adalah langsung mengujinya dengan cara klik tombol CommandButton yang ada di dalam lembar kerja

Sekarang anda sudah berhasil mengetahui bagaimana caranya memberi warna interior pada sebuah sel atau sebuah teks yang berhasil ditemukan dari jendela InputBox. Semoga tutorial ini bisa memberikan manfaat kepada anda.
Terimakasih sudah berkunjung dan jangan lupa silahkan bookmark situs ini untuk mengetahui tutorial dan kehebatan Microsoft Excel lainnya. We'll be right back soon

Loading...



Memahami Konsep Parameter .Find Untuk Mencari Informasi

menggunakan parameter FIND

Beberapa waktu yang lalu saya mendapat kiriman sebuah email yang berisi permintaan untuk mengulas tentang bagaimana menggunakan parameter FIND untuk mencari sebuah informasi atau sebuah nilai yang terdapat di dalam lembar kerja. Di dalam email tersebut si pengirim juga menyebutkan kalau ia belum mendapati pembahasan yang lengkap tentang penggunaan paremeter FIND di situs internet, bahkan beberapa diantaranya hanya sekedar copy-paste dari situs lainnya.

Oke, sebelum saya mengulas tentang parameter FIND (ala excelive), saya akan sedikit bercerita tentang kemampuan excel yang saya miliki hingga saat ini.
Awalnya saya adalah seorang praktisi di dunia audio-video sebagai seorang editor juga sebagai seorang animator Adobe After Effect, kemampuan yang saya miliki saat itu hampir semuanya berasal dari internet, atau dengan kata lain saya mempelajari secara autodidak. Pada saat itu, Microsoft Excel adalah salah satu aplikasi yang hampir tidak pernah tersentuh meskipun di dalam komputer sudah ada. Bahkan ketika Install ulang Microsoft Office, seringkali saya memilih custom instalation dan hanya memasang Microsoft Word dalam komputer, karena pada saat itu - aplikasi paket Office Word masih dibutuhkan meskipun tidak sesering aplikasi Adobe After Effect atau aplikasi video editor seperti Pinnacle Studio, Adobe Premiere, dan sejenisnya.

Hingga suatu ketika, saya menemui sebuah aplikasi sederhana buatan anak negeri yang dibangun menggunakan Microsoft Excel. Disaat itu pula rasa cinta terhadap Microsoft Excel perlahan-lahan mulai tumbuh berkembang dan perlahan-lahan dunia audio-video ditinggalkan.
Bagi saya, belajar Microsoft Excel tidaklah secepat ketika saya pertama kali mengenal dan mempelajarai aplikasi video editing, butuh proses yang memakan banyak waktu dan tenaga, dan seringkali menemui kesulitan - dan disinilah saya merasakan sebuah keasyikan belajar coding, khususnya VBA Microsoft Excel.



Loading...

Mengoleksi buku-buku Microsoft Excel lambat laun menjadi sebuah hobi baru dan tanpa sadar menggeser buku-buku audio editing yang terdapat di rak buku. Namun, dari semua buku-buku Microsoft Excel yang pernah saya beli, ternyata belum bisa memuaskan rasa keingintahuan saya tentang kehebatan Microsoft Excel, dan saya menyadari bahwa saya harus memenuhi rasa penasaran ini dan belajar ke gudangnya ilmu, yakni internet.

Jadi kesimpulan dari cerita (curhat) di atas, saya adalah seorang yang hanya memiliki sedikit kemampuan tentang Microsoft Excel yang kebetulan sedikit memahami beberapa kode-kode dalam Microfost Excel dan berusaha semaksimal mungkin untuk menjelaskan dan mengulas secara lengkap tentang apa-apa yang saya ketahui. Dan mudah-mudahan bisa dengan mudah dipahami.

Kembali ke pokok pembahasan parameter .FIND yang ditanyakan oleh seorang pengunjung situs excelive.com
Pada dasarnya, parameter ini memiliki fungsi yang sama ketika anda menekan tombol pintas CTRL + F, akan tetapi anda harus menuliskan beberapa baris perintah agar parameter ini bisa dijalankan layaknya CTRL + F, serta harus dituliskan menggunakan bahasa kode. Dan berikut ini saya akan membahas langkah demi langkah mengaplikasi parameter FIND menggunakan Macro VBA Microsoft Excel.
  1. Oke, pastikan aplikasi Microsoft Excel sudah diinstall dikomputer dan anda sudah membukanya
  2. Tekan tombol pintas ALT + F11 untuk membuka jendela Microsoft Visual Basic Editor, yakni sebuah aplikasi untuk menuliskan bahasa program. Di jendela Microsoft Visual Basic Editor, anda akan dihadapkan dengan sebuah lembar kerja (Workspace) yang beda dengan Microsoft Excel - jadi perlakuannya juga jelas berbeda
  3. Arahkan mouse ke baris menu dan pilih Insert kemudian pilih Module untuk menyisipkan sebuah Module Baru dalam lembar kerja Microsoft Visual Basic Editor. Di sinilah tempat dimana anda harus menuliskan baris-baris kode
  4. Sekarang, anda tuliskan (atau lebih cepatnya) Copy Paste kode berikut ke dalam Module yang sudah anda buat dilangkah sebelumnya
    Sub Cari()
    Set a = Range("A:A").Find("apa", LookAt:=xlValue)
    MsgBox a.Address(False, False)
    End Sub
    
    Penjelasan singkat dari kode diatas
    • Cari
      Adalah sebuah nama yang sifatnya unik yang dijadikan sebagai identitas dari sekumpulan baris-baris perintah yang terdapat didalamnya
    • Set a
      Sebelum mulai membaca kode-kode, saya mengawalinya dengan mengatur dan menentukan sebuah nilai, untuk tutorial ini saya mengatur nilai a
    • Range("A:A").Find("apa", Lookat:=xlValues)
      Baris perintah ini merupakan isi dari nilai a yang memuat beberapa parameter penting antara lain:
      > alamat sebuah range = Range("A:A")
      > paramater pencarian = Find
      > kata atau teks yang akan dicari = "apa"
      > lokasi pencarian = LookAt:=xlValues
      > anda bisa juga menambahkan parameter MatchCase:=True untuk melakukan pencarian yang spesifik
      Bahasa sederhana dari baris perintah ini adalah; Mencari nilai atau teks "apa" berdasarkan model pencarian xlValues di sepanjang kolom A
    • MsgBox a.Address(False, False)
      > Msgbox digunakan untuk menampilkan kotak pesan kepada pengguna
      > a.Address berfungsi untuk membaca nilai yang berhasil di temukan dan ditampilkan sebagai alamat sel
      > (False, False) adalah sebuah parameter untuk membaca sebuah alamat sel dengan menonaktifkan kolom dan baris absolut (tanda $ sebelum kolom dan baris)
      Bahasa sederhana dari baris perintah ini adalah; Menampilkan hasil pencarian kedalam kotak pesan berupa alamat sel dengan format alamat sel relatif
  5. Sampai disini anda sudah berhasil menuliskan parameter FIND untuk mencari sebuah nilai. dan langkah terakhir adalah mengujinya dengan menekan tombol F5 dikeyboard, atau bisa juga dengan mengklik ikon yang terdapat di standard toolbar.

Saya yakin anda bertanya-tanya, bagimana jika dalam sekumpulan data yang ada di lembar kerja terdapat beberapa nilai yang sama dengan kata kunci pencarian, dan bagaimana agar hasil pencariannya menuju ke alamat sel berikutnya.??

Untuk menjawab pertanyaan ini, saya akan membahasnya di edisi berikutnya. Jadi, jangan lupa untuk bookmark situs ini agar anda tidak ketinggalan update terbaru artikel dan tutorial Microsoft Excel bersama excelive.com. See you soon

Loading...


Apa Yang Harus Dilakukan Agar Nilai InputBox Tidak Bersifat Case-Sensitive

Sejak diperkenalkan ke publik, komputer merupakan salah satu peralatan elektronik yang perkembangannya sangat luar biasa, Ia berevolusi mulai dari segi ukuran hingga kecerdasan. Dan tak heran jika saat ini keberadaan komputer sangat dibutuhkan untuk membantu penggunanya dalam menyelesaikan kegiatan mulai dari perdagangan, bisnis, perkantoran, hingga hiburan. Barangkali para pengembang awal komputer sudah memprediksi hal ini bakal terjadi, dimana era digitaliasi sudah mendarah daging dalam kehidupan manusia.

Evolusi Komputer
Capaian yang sangat luar biasa dari sebuah peralatan elektronik ini tentunya juga memperhatikan keamanan data-data yang tersimpan didalamnya, dimana salah satu keamanan yang digunakan untuk menjamin data-data tersebut adalah dengan menggunakan Password. Ya, password bisa diibaratkan sebuah kunci yang hanya bisa digunakan untuk membuka sesuatu jika kombinasi serta bentuknya sama dengan pasangannya.
Sebagai contoh, bentuk huruf A tentu tidak sama dengan huruf a, juga kombinasi bentuk huruf AB tentu tidak sama juga dengan BA. Inilah yang disebut dengan case-sensitif.

Penggunaan case-sensitive memang seringkali dihubung-hubungkan dengan password, karena kekuatan sebuah password dalam melindungi sebuah data terletak pada kombinasi serta bentuknya. Dalam konteks penulisan password, kombinasi yang dimaksud bisa berupa serangkaian huruf-huruf, angka, serta karakter atau simbol. Sementara bentuk disini adalah model penulisan hurufnya apakah menggunakan huruf kapital atau huruf kecil (dalam bahasa saya, model penulisan teks ini saya sebut dengan case)

Jadi, secara kasar istilah case sensitive bisa diartikan sebagai bentuk tulisan yang sifatnya peka.
contoh, kata excelive dengan kata Excelive meskipun secara kombinasi keduanya memiliki kesamaan akan tetapi jika dilihat berdasarkan bentuk (case), keduanya memiliki perbedaan, yang mana kata pertama menggunakan bentuk huruf kecil semua sementara kata kedua - huruf depannya dituliskan dengan bentuk huruf kapital.



Loading...

kembali ke pembahasan utama website ini yang memang khusus membahas tentang Microsoft Excel dan bukan tentang sejarah komputer. Namun sebelum itu, mungkin anda bertanya-tanya kenapa harus InputBox, dan kenapa tidak harus case sensitive?

Ok, InputBox adalah salah satu parameter Macro VBA yang berfungsi untuk menampilkan sebuah jendela informasi yang memiliki kotak isian dan bisa ditulis seperti halnya objek TextBox, akan tetapi InputBox tidak dapat diperlakukan layaknya objek TextBox yang bisa dilakukan perubahan format penulisannya. Artinya, ketika kita menulis sebuah informasi di jendela InputBox, ia akan ditulis apa adanya atau persis saat kita menuliskannya. Sementara untuk TextBox, hasil yang ditampilkan bisa kita rubah bentuknya menjadi huruf kecil atau huruf kapital.

Untuk lebih jelasnya lihat perbedaan berikut:
InputBox vs TextBoxDari demonstrasi disamping saya menggunakan tulisan huruf kecil semua untuk masing-masing objek, dan terlihat bahwa jendela InputBox menampilkan hasil di kotak pesan sesuai dengan apa yang saya tuliskan di kotak InputBox, sementara untuk TextBox saya bisa merubah bentuk penulisannya sesuai dengan formula yang telah ditentukan.

Berikut kita akan coba menguji apakah sel A1 yang berisi nilai atau kata excelive sama dengan apa yang nanti saya tuliskan di jendela InputBox.?
Sebelum mengujinya pastikan anda sudah menuliskan kata excelive di Sheet1 sel A1 , kemudian sekedar untuk memudahkan saja - buat sebuah control CommandButton dan letakkan di lembar kerja ke-1, kemudian klik ganda objek ini untuk langsung menuju jendela Visual Basic Editor
Tuliskan baris kode berikut didalam even CommandButton1_Click
a = Application.InputBox("tulis sebuah pesan")
If a <> False Then
If a = [a1] Then
MsgBox "Selamat... data sama"
Else
MsgBox "Data tidak sama"
End If
End If

Loading...


a = Application.InputBox("tulis sebuah pesan")
If a <> False Then
If InStr(LCase([a1]), LCase(a)) Then
MsgBox "Selamat... data sama"
Else
MsgBox "Data tidak sama"
End If
End If

Sekarang anda sudah mengerti trik untuk membuat nilai di kotak InputBox agar tidak bersifat case sensitive. Dan jika anda ingin mengetahui trik dan tips Microsoft excel lainnya, jangan lupa untuk bookmark situs ini agar anda tidak ketinggalan update terbaru artikel dan tutorial Microsoft Excel bersama excelive.com. Afscheid


Kode Macro VBA untuk menampilkan Informasi Data Dari 3 Kriteria

kriteria macro vba

Banyak cara yang digunakan dalam menentukan ukuran yang menjadi dasar untuk menampikan atau menyembunyikan suatu data, atau lebih mudahnya disebut sebagai kriteria. Ya, suatu kriteria dapat digunakan sebagai patokan kapan atau bagaimana data-data tersebut ingin ditampilkan, atau diambil untuk kemudian diolah lagi dengan data lainnya.

Ambil contoh seperti berikut, seorang pengunjung toko handphone ingin mengetahui harga sebuah produk, sebut saja VIVO versi V5 yang dibuat atau direlease di tahun 2015, serta ingin mengetahui juga ketersediaan barangnya. Dan jika dari kumpulan data-data yang tersimpan didalam komputer tersebut memiliki informasi berupa merk VIVO dengan versi V5-nya serta buatan tahun 2015, maka komputer atau aplikasi akan menampilkan informasi harga serta stok barang sesuai dengan kriteria yang dimasukkan oleh pengunjung toko tersebut.

Nah dari gambaran diatas, variabel seperti VIVO, V5 dan tahun 2015 adalah sebuah kondisi yang harus dipenuhi untuk menampilkan hasil berupa Informasi Harga Produk dan Stok Barang.

Jika contoh diatas diterjemahkan dalam sekumpulan data Microsoft Excel, maka tampilannya kurang lebih seperti berikut :
Data toko handphone



Loading...

Ok, sekarang kita akan mencoba melakukan pencarian data seperti yang dilakukan oleh pengunjung toko handphone menggunakan data-data yang tersimpan dalam Microsoft Excel.
Saya berasumsi data-data yang tersimpan di komputer memiliki susunan yang kurang lebih seperti apa yang saya sajikan diatas. Dan selanjutnya kita akan mencari nilai dari sekumpulan data-data yang sudah ada ini untuk menampilkan informasi berdasarkan 3 (tiga) buah kriteria seperti yang sudah saya gambarkan sebelumnya.
Dan sesuai dengan judul tutorial ini, maka syarat yang tidak kalah penting yang harus dilakukan terlebih dahulu adalah menonaktifkan keamanaan Macro Microsoft Excel anda, agar nantinya kode-kode yang ditulis bisa dijalankan secara maksimal.

Jika persiapan sudah oke, silahkan ikuti langkah demi langkah yang saya sajikan berikut ini :
  1. Aktifkan terlebih dahulu jendela Microsoft Visual Basic Editor jika belum, yakni dengan menekan tombol pintas ALT + F11
  2. Buat sebuah module baru melalui menubar Insert, kemudian pilih Module
  3. Tulis atau tempelkan sederetan baris Macro VBA berikut ini di dalam module yang sudah dibuat dilangkah sebelumnya
    Sub TigaKriteria()
    On Error Resume Next
    Dim a, b As Variant 
    Dim c As Double 
    Dim psn As Boolean
    Dim isi
    psn = False
    isi = Cells(Rows.Count, 1).End(xlUp).Row
    
    a = Application.InputBox("Nama item atau produk")
    b = Application.InputBox("Jenis versi produk")
    c = Application.InputBox("Tahun dibuat")
    For i = 2 To isi
    If InStr(UCase(Cells(i, 2)), UCase(a)) And _
       InStr(UCase(Cells(i, 3)), UCase(b)) And _
       Cells(i, 4) = c Then
    If psn = False Then
        MsgBox "Hasil pencarian untuk item : " & _
                Cells(i, 2) & " " & Cells(i, 3) & " " & Cells(i, 4) & vbCr & _
                "Price : " & Format(Cells(i, 5), "#,##0") & vbCr & _
                "Stok : " & Cells(i, 6) & " bh"
        psn = True
    End If
    End If
    Next
    End Sub

    Untuk lebih memahami kode-kode yang sudah saya tuliskan ini dan tidak asal copy-paste, berikut akan saya jelaskan secara singkat baris-baris penting yang terdapat dalam serangkaian kode Macro VBA diatas
    • On error resume next
      adalah sebuah statement yang akan mengabaikan semua perintah jika terjadi sebuah kesalahan
    • Dim a, b As Variant
      saya mendeklarasikan variabel a dan variabel b sebagai variant, karena nantinya nilai-nilai yang terdapat dalam variabel ini berisi sebuah teks (nama item dan versi handphone)
    • Dim c As Double / Long
      sesuai dengan cerita contoh diatas bahwa terdapat sebuah variabel yang menunjukkan tahun dikeluarkannya sebuah produk Handphone, maka variabel c saya deklarasikan sebagai Double atau anda juga bisa mendeklarasikan sebagai Long agar dapat menyimpan nilai sebagai angka (numeric)
    • Dim psn As Boolean
      Untuk variabel psn, saya fungsikan ia sebagai sebuah Boolean agar ia bisa menyimpan nilai TRUE atau FALSE. Variabel nilai psn sendiri saya gunakan agar nantinya kotak pesan (MsgBox) tidak muncul secara berulang-ulang
    • psn = False
      melanjutkan dari penjelasan sebelumnya, variabel psn yang sudah saya deklarasikan sebagai Boolean saya beri dia nilai awal dengan nilai FALSE.
      Variabel dan nilai dari psn ini bersifat pilihan, artinya jika anda ingin menampilkan hasil pencarian langsung ke dalam lembar kerja maka anda tidak perlu menempatkan baris perintah ini
    • isi = Cells....
      Baris kode ini memuat sebuah nilai yang dapat digunakan untuk mencari informasi baris terakhir yang berisi data berdasarkan kolom A atau indeks kolom ke-1, sehingga ia akan mencari jumlah atau banyaknya data secara otomatis
    • a = ... nama item
      Nilai ini dideklarasikan sebagai sebuah Variant yang digunakan sebagai kriteria pertama, dan untuk contoh ini kriteria yang dimaksud adalah Nama Item yang dapat dimasukkan melalui jendela InputBox
    • b = ... versi produk
      sama seperti nilai a, hanya saja ia di dijadikan sebagai kriteria kedua yakni akan membaca versi sebuah produk
    • c = ...tahun
      Berbeda dengan nilai a dan nilai b, nilai ini menyimpan informasi sebagai angka dan dijadikan sebagai kriteria ketiga.
    • For i = 2 to Isi
      Baris ini merupakan perintah awal untuk pengulangan (loop), yang mana pengulangan akan dibaca mulai dari baris ke-2 sampai dengan baris sebanyak yang diketahui oleh nilai yang didapatkan oleh variabel isi
    • If InStr.......
      Kata kunci dari bahasa logika yang cukup panjang ini terdapat dalam baris perintah InStr...., saya gunakan untuk 'mengunci' dan mencari kesamaan nilai antara nilai yang dimasukkan di setiap variabel dengan kolom indeks yang sesuai dengan kriteria yang dimasukkan, seperti :
      • variabel a memiliki nilai sama dengan nilai yang ada di kolom indeks ke-2, dan
      • variabel b memiliki nilai sama dengan nilai yang ada di kolom indeks ke-3, dan
      • variabel c memiliki nilai sama dengan nilai yang ada di kolom indeks ke-4
      dengan menggunakan parameter InStr..., Maka Macro VBA akan 'memaksa' untuk menyamakan penulisan karakter huruf besar atau huruf kecil agar tidak bersifat case-sensitive.
      Masih dalam logika IF yang pertama, dimana jika semua kondisi-kondisi ini terpenuhi maka baris perintah yang akan dieksekusi adalah :
      • If Psn = False
        Ok, logika If ini kita sebut saja sebagai logika IF yang kedua dimana ia terdapat didalam logika IF yang pertama yang mana fungsi utama dari logika IF kedua ini adalah jika variabel nilai psn adalah False (lihat penjelasan psn = False), maka sebuah kotak pesan dengan berbagai informasi pencarian akan ditampilkan.
        Dan setelah logika IF yang kedua ini dieksekusi, maka variabel psn saya rubah nilainya menjadi TRUE agar nantinya hasil pencarian TIDAK ditampilkan secara berulang-ulang
      • End IF
        Adalah sebuah parameter yang wajib dituliskan untuk menutup Logika IF. Karena dalam tutorial ini saya menggunakan 2 logika IF maka parameter End IF berjumlah 2
    • Next
      Baris perintah terakhir dari serangkaian kode Macro VBA ini adalah parameter Next, sebagai penutup dari parameter For i.....

Barangkali serangkaian baris kode Macro VBA yang kita tuliskan jika dibahasakan dalam bahasa sehari-hari kurang lebih seperti setiap poin yang saya jelaskan diatas. Dan mudah-mudahan penjelasannya bisa dimengerti.
Namun jika anda menemui kendala, silahkan anda tuliskan beberapa hal yang masih belum dipahami dari tutorial ini dalam kolom komentar dibawah.

Sebagai penutup, berikut saya tampilkan hasil akhir dari tutorial ini. Dan jika anda mengikuti langkah demi langkah yang saya berikan dalam tutorial ini, maka andapun akan mendapatkan hasil akhir seperti yang tampak dalam tampilan berikut
Kode Macro VBA 3 Kriteria

Selamat... anda sudah berhasil mengetahui bagaimana caranya menampilkan informasi berdasarkan 3 (tiga) buah kriteria yang diinput atau dimasukkan melalui jendela InputBox. Mudah-mudahan tutorial kali ada guna dan manfaatnya, dan membantu anda menyelesaikan permasalah excel yang saat ini anda hadapi.
Silahkan bookmark website ini jika anda suka dengan tutorial-tutorial yang telah kami sajikan, dan jangan lupa kunjungi kami lain waktu untuk mengetahui kehebatan Microsoft Excel lainnya bersama excelive.com. Despedida.

Loading...


Our Services


design

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

installation

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

youtube

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

download

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

Contact Us


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

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

end of page