Cara Membuat Mesin Pencarian di Excel Menggunakan VBA Macro Sederhana

oleh | 22 Nov 2023 | Belajar Excel, Excel Advanced, Tips Excel, VBA Macro | 0 Komentar

Dalam dunia spreadsheet, Excel adalah salah satu alat yang paling serbaguna. Selain digunakan untuk analisis data dan perhitungan rumit, Excel juga dapat dikustomisasi untuk membuat alat bantu, seperti membuat mesin pencarian di Excel. Artikel ini akan membahas cara membuat mesin pencarian di Excel menggunakan VBA (Visual Basic for Applications).

Apa itu Membuat Mesin Pencarian di Excel?

Membuat mesin pencarian di Excel memungkinkan pengguna untuk menyaring dan menemukan data dengan cepat dalam lembar kerja yang besar. Dengan memanfaatkan kekuatan VBA, kita dapat membuat mesin pencari di Excel yang responsif dan efisien.

Langkah-langkah Membuat Mesin Pencarian di Excel

Langkah 1: Buka Lembar Kerja Excel

Pastikan Anda sudah membuka lembar kerja Excel yang akan digunakan. Untuk proyek membuat mesin pencarian di Excel ini, kita akan mengasumsikan bahwa data yang akan dicari terletak dalam kolom A, dimulai dari sel A2.

tabel awal membuat mesin pencarian di Excel

Langkah 2: Aktifkan Macro dan VBA

Sebelum kita mulai membuat mesin pencarian di Excel, pastikan bahwa fitur Macro dan VBA diaktifkan. Anda dapat mengaktifkannya melalui tab “Developer” di Excel.

Langkah 3: Tambahkan Kode VBA

Salin dan tempelkan kode VBA berikut di dalam Editor VBA:

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
   Dim rng As Range, i As Long, n As Long
   Set rng = Range("A2").CurrentRegion
   n = rng.Rows.Count
   Set rng = rng.Resize(n, 1)

   Application.Calculation = xlCalculationManual
   Application.ScreenUpdating = False

   If Target.Address = "$D$1" Then
      If Not Target.Value = vbNullString Then
         rng.EntireRow.Hidden = False
         For i = 1 To n
            If LCase(Left(rng(i), Len(Target.Text))) = LCase(Target.Text) Then
               rng(i).EntireRow.Hidden = False
            Else
               rng(i).EntireRow.Hidden = True
            End If
         Next
      Else
         rng.EntireRow.Hidden = False
      End If
   End If
   Application.Calculation = xlCalculationAutomatic
   Application.ScreenUpdating = True
End Sub

Kode ini akan membuat mesin pencarian yang menyembunyikan atau menampilkan baris berdasarkan nilai yang dimasukkan di sel D1.

Baca Juga  Membuat Aplikasi Bagan Pertandingan Excel untuk AFC U23 Asian Cup 2024 Otomatis
kode vba untuk membuat mesin pencari di Excel
Penjelasan Skrip

Skrip VBA ini adalah bagian dari peristiwa (event) yang terkait dengan lembar kerja Excel. Lebih khusus lagi, itu adalah bagian dari peristiwa perubahan lembar kerja (Worksheet_Change). Skrip ini akan dijalankan setiap kali ada perubahan pada lembar kerja tempatnya ditempatkan.

Berikut adalah penjelasan detil mengenai setiap bagian dari skrip ini:

  1. Option Explicit: Ini adalah pernyataan yang disarankan untuk dimasukkan di bagian paling atas modul VBA. Ini memastikan bahwa semua variabel yang digunakan harus dideklarasikan sebelum penggunaannya, sehingga membantu mencegah kesalahan pengejaan yang umum.
  2. Private Sub Worksheet_Change(ByVal Target As Range): Ini adalah deklarasi subrutin yang terkait dengan peristiwa “Change” di lembar kerja. Artinya, kode dalam subrutin ini akan dijalankan setiap kali ada perubahan pada lembar kerja tempatnya ditempatkan.
  3. Dim rng As Range, i As Long, n As Long: Deklarasi variabel. rng adalah variabel objek Range yang akan digunakan untuk menyimpan rentang data pada kolom A dimulai dari sel A2. i dan n adalah variabel numerik yang digunakan sebagai indeks dan panjang data.
  4. Set rng = Range("A2").CurrentRegion: Mengatur variabel rng ke seluruh wilayah data dimulai dari sel A2. Ini dilakukan dengan menggunakan properti CurrentRegion yang secara otomatis memperluas rentang data dari sel A2 hingga batas terdekat yang kosong.
  5. n = rng.Rows.Count: Menghitung jumlah baris dalam rentang data dan menyimpannya dalam variabel n.
  6. Set rng = rng.Resize(n, 1): Mengubah ukuran variabel rng menjadi satu kolom dan n baris. Ini berguna untuk memastikan bahwa kita hanya memproses data dalam satu kolom.
  7. Application.Calculation = xlCalculationManual: Menetapkan penghitungan aplikasi ke mode manual untuk meningkatkan kinerja dan mencegah perhitungan otomatis terlalu sering.
  8. Application.ScreenUpdating = False: Menonaktifkan pembaruan layar untuk meningkatkan kinerja dan mencegah flashing pada layar selama proses.
  9. If Target.Address = "$D$1" Then: Memulai blok kondisional yang akan dijalankan jika sel yang diubah (Target) memiliki alamat “$D$1”.
  10. If Not Target.Value = vbNullString Then: Memeriksa apakah nilai di sel Target tidak kosong.
  11. rng.EntireRow.Hidden = False: Menampilkan semua baris di rentang data.
  12. For i = 1 To n: Mulai loop untuk memeriksa setiap baris dalam rentang data.
  13. If LCase(Left(rng(i), Len(Target.Text))) = LCase(Target.Text) Then: Memeriksa apakah teks di kolom A (dalam rentang data) sesuai dengan teks yang baru dimasukkan di sel D1.
  14. rng(i).EntireRow.Hidden = False: Menampilkan baris jika sesuai.
  15. Else: Blok yang akan dijalankan jika kondisi pada langkah 13 tidak terpenuhi.
  16. rng(i).EntireRow.Hidden = True: Menyembunyikan baris jika kondisi pada langkah 13 tidak terpenuhi.
  17. Next: Selesai loop.
  18. Else: Blok yang akan dijalankan jika kondisi pada langkah 10 tidak terpenuhi.
  19. rng.EntireRow.Hidden = False: Menampilkan semua baris jika sel D1 kosong.
  20. End If: Mengakhiri blok kondisional.
  21. Application.Calculation = xlCalculationAutomatic: Mengembalikan penghitungan aplikasi ke mode otomatis.
  22. Application.ScreenUpdating = True: Mengaktifkan kembali pembaruan layar.
Baca Juga  Penjelasan Lengkap Fungsi DGET di Microsoft Excel untuk Mengoptimalkan Analisis Data

Subrutin sekarang selesai, dan proses perubahan lembar kerja telah diatasi. Jadi, secara umum, skrip ini digunakan untuk menyembunyikan atau menampilkan baris dalam rentang data berdasarkan nilai yang dimasukkan di sel D1.

Langkah 4: Tes Mesin Pencarian

Kembali ke lembar kerja Excel dan mulai menguji mesin pencarian. Ketikkan kata kunci di sel D1, dan lihat bagaimana baris-baris yang tidak sesuai dengan kriteria pencarian disembunyikan.

hasil membuat mesin pencarian di Excel

Kesimpulan

Membuat mesin pencarian di Excel dengan VBA dapat meningkatkan efisiensi pengelolaan data. Dengan mengikuti langkah-langkah di atas, Anda dapat dengan mudah membuat alat pencarian yang sesuai dengan kebutuhan Anda. Selamat mencoba dan semoga artikel ini bermanfaat!

Terakhir, bagi yang membutuhkan file ini, file Excel bisa didownload melalui tautan di bawah ini:

0 Komentar

Trackbacks/Pingbacks

  1. Rumus Excel untuk Membuat Mesin Pencari Sederhana tapi Powerfull - […] cari hanya dengan mengetikkan beberapa huruf depan dari data yang kita cari. Dan karena kita akan membuat sebuah mesin…

Kirim Komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

Join Our Newsletter