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.
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.
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:
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.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.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
dann
adalah variabel numerik yang digunakan sebagai indeks dan panjang data.Set rng = Range("A2").CurrentRegion
: Mengatur variabelrng
ke seluruh wilayah data dimulai dari sel A2. Ini dilakukan dengan menggunakan propertiCurrentRegion
yang secara otomatis memperluas rentang data dari sel A2 hingga batas terdekat yang kosong.n = rng.Rows.Count
: Menghitung jumlah baris dalam rentang data dan menyimpannya dalam variabeln
.Set rng = rng.Resize(n, 1)
: Mengubah ukuran variabelrng
menjadi satu kolom dann
baris. Ini berguna untuk memastikan bahwa kita hanya memproses data dalam satu kolom.Application.Calculation = xlCalculationManual
: Menetapkan penghitungan aplikasi ke mode manual untuk meningkatkan kinerja dan mencegah perhitungan otomatis terlalu sering.Application.ScreenUpdating = False
: Menonaktifkan pembaruan layar untuk meningkatkan kinerja dan mencegah flashing pada layar selama proses.If Target.Address = "$D$1" Then
: Memulai blok kondisional yang akan dijalankan jika sel yang diubah (Target) memiliki alamat “$D$1”.If Not Target.Value = vbNullString Then
: Memeriksa apakah nilai di sel Target tidak kosong.rng.EntireRow.Hidden = False
: Menampilkan semua baris di rentang data.For i = 1 To n
: Mulai loop untuk memeriksa setiap baris dalam rentang data.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.rng(i).EntireRow.Hidden = False
: Menampilkan baris jika sesuai.Else
: Blok yang akan dijalankan jika kondisi pada langkah 13 tidak terpenuhi.rng(i).EntireRow.Hidden = True
: Menyembunyikan baris jika kondisi pada langkah 13 tidak terpenuhi.Next
: Selesai loop.Else
: Blok yang akan dijalankan jika kondisi pada langkah 10 tidak terpenuhi.rng.EntireRow.Hidden = False
: Menampilkan semua baris jika sel D1 kosong.End If
: Mengakhiri blok kondisional.Application.Calculation = xlCalculationAutomatic
: Mengembalikan penghitungan aplikasi ke mode otomatis.Application.ScreenUpdating = True
: Mengaktifkan kembali pembaruan layar.
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.
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