Excel-id.com | Selamat berpuasa bagi yang menjalankannya, masih membahas mengenai materi tentang excel dan pada tulisan artikel kali ini saya akan membahas bagaimana cara menemukan data kemudian mengaktifkan atau memilih cell tersebut jika ditemukan dengan menggunakan coding / script VBA (macro excel).
Mencari sebuah data memang pernah terjadi ketika kita melakukan pekerjaan terutama menggunakan program aplikasi pengolahan angka ini (Ms. Excel) dan tentunya fasilitas pencarian sudah disediakan oleh pihak Microsoft namun ternyata perusahaan software terbesar tersebut juga memberikan fasilitas dengan bahasa pemrograman yang lebih dikenal dengan Macro (VBA). Dan tentunya kita bisa memanfaatkan fasilitas tersebut untuk lebih mempermudah bagi pengguna dalam mengolah data.
Silakan Baca:Bagaimana Coding untuk mencari data dan mengaktifkannya?
Pencarian Melalu UserForm sebagai Validasi Data
Untuk masalah ini kita akan menuliskan sebuah coding (script VBA) dengan algoritman “Cari data yang sama dengan textbox, jika ditemukan maka pilih cell yang berisi data tersebut (alamat cell) tetapi jika tidak ditemukan munculkan pesan”
Sebuah algoritma sederhana namun tentunya bagi para programmer hal ini lumayan untuk mengetikkan satu demi satu atau kata demi kata dalam pengcodean. Baiklah langsung saja berikut akan diuraikan bagaimana cara membuat macro untuk mencari data dan mengaktifkan cell tersebut.
Baca Materi :Pertama kita akan membuat sebauh objek general dengan prosedur kita definisikan “CariData” silakan Anda tuliskan coding dibawah ini pada userform, Anda juga bisa mengetikkannya pada Module. Namun sebelumnya Anda harus membuat 1 buah UserForm yang ditambahkan dengan objek textbo dan CommandButton sebagai tombol untuk menjalankan perintah coding tersebut. Kira-kira desain UserForm seperti berikut ini
Pencarian Data di Excel Paling Sederhana
Anda hilangkan atau hapus Caption untuk userForm1 kemudian ganti caption untuk Label1 menjadi “Pencarian:” dan ganti juga caption CommandButton1 menjadi “Cari Data” untuk Name biarkan saja jangan dirubah. Langkah berikutnya silakan masuk ke mode Code kemudian tuliskan coding dibawah ini
Sub CariData()
Dim TemukanData As String
Dim Rng As Range
TemukanData = TextBox1.Value
If Trim(TemukanData) <> "" Then
With Sheets("Sheet1").Range("A:A") 'Cari semua data di kolom A
Set Rng = .Find(What:=TemukanData, _
After:=.Cells(.Cells.Count), _
LookIn:=xlValues, _
LookAt:=xlWhole, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext, _
MatchCase:=False)
If Not Rng Is Nothing Then
Application.Goto Rng, True 'Jika ditemukan maka pilih range tersebut
Else
MsgBox "Data Tidak Ditemukan" 'Jika tidak ditemukan tampilkan pesan ini
End If
End With
End If
End Sub
Setelah Coding diatas dituliskan dengan benar maka langkah selanjutnya kita akan panggil prosedur CariData tersebut dengan prosedur Klik pada CommandButton sehingga Anda harus menuliskan coding seperti berikut ini
Private Sub CommandButton1_Click()
Call CariData
End Sub
Oke, pembuatan desain userform dan coding selesai, langkah berikutnya misalnya saya memiliki data pada kolom A di sheet1 sebagai berikut Dede, Abah, Deme, Juju, Dada secara berututan seperti gambar berikut ini
Langkah selanjutnya kita akan jalankan program yang telah dibuat diatas dengan menekan tombol RUN maka akan muncul form untuk menuliskan nama yang akan dicari, misalnya saya akan mencari nama “yatna”
Hasilnya adalah akan muncul sebuah pesan yang menjelaskan bahwa “Data Tidak Ditemukan”
Apbila saya Mencari Nama “juju” yang diketikkan pada textbox pencarian kemudian klik tombol Cari Data maka secara otomatis pointer akan berpindah ke cell A4 yang berisi data atas nama “juju”
Perhatikan baris akan menuju ke baris ke-4 dan pointer akan aktif di cell A4. Oke, itulah contoh coding bagaimana memilih cell dengan pencarian apabila ditemukan maka pointer akan menuju ke alamat cell tersebut.
Materi ini bisa Anda terapkan bagaimana saya membuat sebuah Aplikasi Database Siswa untuk model Pencarian.
Silakan Baca:
Coding VBA (Macro) Untuk Pencarian Data Siswa
Semoga bermanfaat.
bagaimana kalo pencariannya langsung pada kolom tertentu pada banyak sheet, misal kolom A pada semua sheet yang ada?
BalasHapus