VBA FIND

VBA FIND

FIND Fungsi VBA Excel

Fungsi FIND dari VBA excel mencari nilai tertentu dalam rentang tertentu. Itu mencari contoh pertama dari nilai tersebut dan jika kecocokan ditemukan, fungsi mengembalikan sel yang berisi itu. Namun, jika kecocokan tidak ditemukan, fungsi tidak mengembalikan apa pun. Fungsi FIND dari VBA dapat mengembalikan kecocokan tepat atau sebagian.

Misalnya, kode berikut mencari string ‘rose’ dalam rentang A1:A10 dari ‘sheet1.’

Dengan Spreadsheet(“Sheet1”).Range(“A1:A10”)

Atur Rng = .Find(What:=’rose’)

Tujuan penggunaan fungsi FIND di VBA adalah untuk menemukan nilai yang diinginkan dalam kumpulan data yang diberikan. Dengan kode VBA, seseorang dapat mengotomatiskan tugas menemukan nilai di Excel. Mirip dengan FIND VBA, ada juga fitur ‘temukan dan ganti’ di Excel. Mari kita tinjau kembali yang terakhir untuk memahami yang pertama.

Tinjau Kembali ke Fitur ‘Temukan dan Ganti’ Excel

Di bagian ini, ‘temukan dan ganti Temukan dan Ganti Temukan dan Ganti adalah fitur Excel yang memungkinkan Anda mencari teks, simbol numerik, atau karakter khusus apa pun tidak hanya di lembar saat ini tetapi di seluruh buku kerja. Ctrl+F adalah jalan pintas untuk menemukan, dan Ctrl+H adalah jalan pintas untuk menemukan dan mengganti.Baca selengkapnya’ kotak dialog Excel telah dijelaskan secara singkat. Langkah-langkah untuk menemukan dan mengganti nilai dalam lembar kerja dicantumkan sebagai berikut:

Langkah 1: Tekan tombol ‘Ctrl+F’ bersamaan untuk mengakses fitur ‘temukan dan ganti’ Excel. Alternatifnya, dari grup ‘pengeditan’ pada tab Beranda, klik tarik-turun ‘temukan & pilih’. Selanjutnya, pilih opsi ‘temukan’.

Langkah 2: Kotak dialog ‘temukan dan ganti’ muncul, seperti yang ditunjukkan pada gambar berikut. Klik ‘opsi’ untuk melihat lebih banyak fitur.

Langkah 3: Kotak dialog berikutnya ditampilkan. Kotak ini membantu menemukan nilai yang ditentukan dalam kotak ‘temukan apa’. Pencarian tunduk pada kendala berikut:

  • Di dalam: Ini menentukan apakah pencarian akan dilakukan di lembar kerja atau buku kerja.
  • Cari: Ini memutuskan apakah pencarian akan dilakukan dalam baris atau kolom.
  • Lihat ke dalam: Ini memutuskan apakah pencarian akan dilakukan dalam rumus, nilai, atau komentar Excel.

Kapan saja, seseorang dapat mengklik ‘opsi’ untuk kembali ke jendela yang ditunjukkan pada langkah 2.

Langkah 4: Klik opsi ‘ganti’ di kotak dialog ‘temukan dan ganti’. Muncul opsi ‘ganti dengan’, seperti yang ditunjukkan pada gambar berikut. Opsi ini digunakan ketika satu nilai perlu diganti dengan yang lain.

Beginilah cara kerja fitur ‘temukan dan ganti’ Excel. Mari kita kembali ke fungsi FIND dari VBA Excel.

Sintaks fungsi FIND dari VBA

Sintaks fungsi FIND dari VBA dinyatakan sebagai berikut:

expression.Find(What, After, LookIn, LookAt, SearchOrder, SearchDirection, MatchCase, MatchByte, SearchFormat)

‘Ekspresi’ adalah objek jangkauan, yang mendahului fungsi FIND dalam kode VBA. Rentang pencarian dapat berupa satu atau lebih baris, kolom, atau seluruh lembar kerja. Fungsi FIND dari VBA excel menerima argumen berikut:

  • Apa: Ini adalah nilai yang akan dicari. Itu bisa numerik, tekstual atau tipe data Excel lainnya. Argumen ini sama dengan opsi ‘temukan apa’ dari jendela ‘temukan dan ganti’ Excel.
  • Setelah: Ini menunjukkan sel setelah pencarian akan dimulai. Itu dimasukkan sebagai referensi sel tunggal. Jika argumen ini dihilangkan, pencarian dimulai setelah sel di pojok kiri atas rentang pencarian yang ditentukan.
  • LookIn: Ini adalah tempat (atau data) di mana nilai perlu dicari. Itu bisa berupa komentar (xlComments), rumus (xlFormulas) atau nilai (xlValues). Nilai default argumen ini adalah xlFormulas. Selanjutnya, argumen ini sama dengan opsi ‘lihat ke dalam’ dari jendela ‘temukan dan ganti’ Excel.
  • Lihat: Ini memutuskan apakah akan mencocokkan konten seluruh sel (pencocokan tepat) atau mencocokkan sebagian konten sel (pencocokan sebagian). Konstantanya masing-masing adalah xlWhole dan xlPart untuk pencocokan tepat dan parsial. Nilai default dari argumen ini adalah xlPart.
  • SearchOrder: Ini menyarankan urutan pencarian. Seseorang dapat menentukan apakah pencarian akan dilakukan dalam baris (xlByRows) atau kolom (xlByColumns). Nilai default dari argumen ini adalah xlByRows. Selanjutnya, argumen ini sama dengan opsi ‘cari’ dari jendela ‘temukan dan ganti’ Excel.
  • SearchDirection: Ini menunjukkan arah di mana pencarian akan dilakukan. Seseorang dapat mencari ke bawah atau ke sel berikutnya dengan konstanta xlNext. Alternatifnya, seseorang dapat mencari mundur (ke atas) atau di sel sebelumnya dengan konstanta xlPrevious. Nilai default dari argumen ini adalah xlNext.
  • MatchCase: Ini memutuskan apakah pencarian sensitif huruf atau tidak. Jika pencarian peka huruf besar-kecil, argumen ini ditetapkan sebagai benar, jika tidak salah. Nilai default argumen ini salah.
  • MatchByte: Ini digunakan jika seseorang telah menginstal atau memilih dukungan bahasa byte ganda. Itu harus ditentukan sebagai benar, jika karakter bita ganda akan dicocokkan dengan karakter bita ganda. Itu harus ditentukan sebagai salah, jika karakter bita ganda akan dicocokkan dengan padanan bita tunggalnya.
  • SearchFormat: Ini menunjukkan apakah nilai yang akan dicari harus dalam format tertentu (seperti huruf tebal atau miring) atau tidak. Jika nilai pencarian harus mengikuti teknik pemformatan, argumen ini ditetapkan sebagai benar, jika tidak salah. Nilai default argumen ini salah.

Hanya argumen ‘apa’ yang diperlukan. Argumen lainnya bersifat opsional.

Excel VBA Find mengembalikan salah satu hasil berikut:

  • Jika kecocokan ditemukan, fungsi mengembalikan sel pertama di mana nilainya berada.
  • Jika kecocokan tidak ditemukan, fungsi tidak mengembalikan apa pun. Ini karena objek dari fungsi tidak diatur apa-apa.

Alternatifnya, jika kecocokan tidak ditemukan, pesan khusus yang ditentukan dalam fungsi MsgBoxFungsi MsgBoxFungsi VBA MsgBox adalah fungsi keluaran yang menampilkan pesan umum yang disediakan oleh pengembang. Pernyataan ini tidak memiliki argumen dan pesan yang dipersonalisasi dalam fungsi ini ditulis di bawah tanda kutip ganda sedangkan untuk nilai referensi variabel disediakan.baca lebih lanjut dapat dikembalikan (lihat kode dari contoh berikutnya).

Catatan 1: Pencarian dimulai setelah sel yang ditentukan dalam argumen ‘setelah’ dan berlanjut hingga sel terakhir dari rentang pencarian. Jika nilai tidak ditemukan hingga sel terakhir ini, pencarian dimulai lagi dari sel pertama rentang pencarian hingga sel yang ditentukan dalam argumen ‘setelah’.

Jadi, sel yang ditentukan dalam argumen ‘setelah’ dicari di akhir proses pencarian. Untuk detail lebih lanjut tentang penggunaan argumen ‘setelah’, lihat contoh #2 artikel ini.

Catatan 2: Setiap kali fungsi FIND VBA digunakan, pengaturan LookIn, LookAt, SearchOrder, dan MatchByte disimpan. Jadi, jika nilai ini dihilangkan saat fungsi digunakan lagi, Excel VBA menggunakan nilai yang disimpan sebelumnya. Oleh karena itu, disarankan untuk secara eksplisit menyatakan argumen yang diberikan setiap kali pencarian dilakukan dengan menggunakan fungsi FIND dari VBA.

Bagaimana cara menggunakan Fungsi FIND dari VBA Excel?

Mari kita perhatikan beberapa contoh untuk memahami cara kerja Excel VBA Find.

Contoh #1–Mengembalikan Sel yang Berisi Instance Pertama dari Nilai Pencarian

Gambar berikut menunjukkan beberapa nama di kolom A. Kami ingin melakukan tugas berikut di Excel VBA:

  • Tulis kode VBA untuk mencari instance pertama dari nama ‘Aran’ di kolom A.
  • Pastikan sel A2 dipilih saat menjalankan kode.

Gunakan fungsi FIND dari VBA.

Langkah-langkah untuk mencari nama yang diberikan (contoh pertama) dengan menggunakan fungsi FIND dari VBA tercantum sebagai berikut:

Langkah 1: Pastikan tab Pengembang Tab Pengembang Di ExcelMengaktifkan tab pengembang di excel dapat membantu pengguna melakukan berbagai fungsi untuk VBA, Makro, dan Add-in seperti mengimpor dan mengekspor XML, mendesain formulir, dll. Tab ini dinonaktifkan secara default di unggul; dengan demikian, pengguna harus mengaktifkannya terlebih dahulu dari menu opsi. Baca lebih lanjut diaktifkan di Excel. Tab ini akan membantu menulis kode VBA. Setelah diaktifkan, itu akan muncul di pita Excel, seperti yang ditunjukkan pada gambar berikut.

Catatan: Untuk langkah-langkah terkait mengaktifkan tab Pengembang, klik hyperlink yang diberikan.

Langkah 2: Dari tab Pengembang, klik ‘visual basic’. Selanjutnya, klik dua kali ‘sheet1’ dan panel kosong akan muncul di sisi kanan.

Tulis kode VBA berikut di panel ini. Ini ditunjukkan pada gambar berikutnya.

Sub Contoh ()
Dim FindS As StringDim Rng As RangeFindS = InputBox (“Masukkan nilai yang ingin Anda cari”)Dengan Sheets (“Sheet1”) .Range (“A:A”)

Penjelasan kode: Kode yang diberikan dijelaskan sebagai berikut:

  • ‘Sample’ adalah nama fungsi yang diberikan untuk ‘sub.’
  • ‘FindS’ berisi pesan InputBox.
  • ‘Rng’ adalah variabel yang didefinisikan untuk rentang. Dalam contoh ini, rentangnya adalah seluruh kolom A (A:A).

Setelah kode dijalankan, pesan InputBox akan muncul seperti yang ditunjukkan pada gambar berikut. Namun, sebelum menjalankan kodenya, mari kita selesaikan terlebih dahulu dengan mengeksekusi langkah-langkah selanjutnya.

Catatan: Fungsi InputBox dari VBA menampilkan kotak dialog di mana pengguna harus memasukkan input.

Langkah 3: Tentukan fungsi FIND di dalam kode. Perhatikan bahwa dalam argumen ‘apa’, kita telah memasukkan ‘findstring.’ Alih-alih, sebagai ganti ‘findstring’, seseorang dapat memasukkan apa pun yang diperlukan untuk mencari dalam rentang yang ditentukan.

Jadi, karena ‘Aran’ perlu dicari di kolom A, maka dapat dimasukkan sebagai pengganti ‘findstring.’ Namun, pastikan nama ini dimasukkan dalam tanda kutip ganda. Dengan cara ini, seseorang dapat menentukan argumen ‘apa’ dari fungsi FIND.

Langkah 4: Tutup fungsi dengan memasukkan argumen (‘akhiri jika’, ‘akhiri dengan’, dan ‘akhiri sub’) yang ditunjukkan pada gambar berikut.

Langkah 5: Simpan file yang berisi kode VBA sebagai buku kerja dengan makro aktif (ekstensi .xlsm). Selanjutnya, dari tab ‘run’, pilih ‘run sub/user form (F5).’ Perintah ini menjalankan kode.

Saat menjalankan kode, kotak dialog berikutnya muncul. Ini menunjukkan pesan InputBox yang telah kita masukkan pada langkah 2. Di kotak ini, masukkan nama ‘Aran’ (dengan atau tanpa tanda kutip ganda) dan klik ‘Ok.’ Excel VBA akan memilih sel A2, yang berisi nama ‘Aran.’

Seandainya ‘sheet1’ tidak berisi nama ‘Aran,’ Excel VBA akan mengembalikan pesan ‘tidak ada yang ditemukan.’ Pesan ini ditentukan dalam fungsi kode MsgBox.

Catatan: Secara default, Excel VBA mengembalikan contoh pertama dari nilai pencarian dalam rentang yang ditentukan. Namun, agar Excel VBA mengembalikan sel A2, argumen ‘apa’ serta kotak dialog berikut, harus berisi string ‘Aran.’

Contoh #2–Mengembalikan Sel yang Berisi Instance Kedua dari Nilai Pencarian

Gambar berikut berisi beberapa nama dalam rentang A1:A10. Perhatikan bahwa nama ‘Aran’ muncul dua kali di kolom A. Tulis kode VBA untuk mencari dan pilih instance kedua dari nama ‘Aran’ di kolom A (yaitu, sel A6).

Gunakan fungsi FIND dari VBA Excel.

Langkah-langkah untuk mencari contoh kedua dari nama yang diberikan dengan menggunakan fungsi FIND dari VBA tercantum sebagai berikut:

Langkah 1: Akses tab Pengembang dari pita Excel. Klik ‘visual basic’ yang ditampilkan di sisi kiri tab ini.

Dari ‘objek Microsoft Excel’, pilih ‘Sheet2.’ Ini karena ‘Sheet2’ dari Excel berisi kumpulan data yang ditunjukkan pada contoh soal.

Catatan: Untuk detail selengkapnya tentang mengkustomisasi pitaMenyesuaikan Pita Di ExcelRibbon di Excel 2016 dirancang untuk membantu Anda menemukan perintah yang ingin Anda gunakan dengan mudah. Pita diatur ke dalam grup logis yang disebut Tab, yang masing-masing memiliki kumpulan fungsinya sendiri. Baca lebih lanjut, klik hyperlink ini.

Langkah 2: Tetap pilih ‘sheet2’ dan dari tab ‘sisipkan’, pilih ‘modul.’ Panel kosong muncul di sisi kanan, seperti yang ditunjukkan pada gambar berikut.

Langkah 3: Mulailah menulis kode di panel kosong. Tentukan fungsi sebagai ‘sub sample2()’ dan tekan tombol ‘Enter’. Ini adalah bagian pertama dari kode yang ditulis tanpa tanda kutip ganda, seperti yang ditunjukkan pada gambar berikut.

Langkah 4: Tentukan variabel kode. Kali ini ‘rng1’ adalah variabel yang ditentukan untuk rentang. Hal yang sama ditunjukkan pada gambar berikut.

Langkah 5: Tentukan fungsi InputBox untuk variabel ‘findS’. Pesan InputBox tetap seperti yang tertulis di langkah 2 dari contoh sebelumnya.

Langkah 6: Masukkan nama lembar kerja tempat fungsi FIND perlu melakukan pencarian. Tentukan rentang yang akan dicari juga. Jadi, kita memasukkan ‘sheet2’ dan rentang ‘A:A’ dalam tanda kutip ganda. Ini ditunjukkan pada gambar berikut.

Langkah 7: Tentukan fungsi FIND. Saat ini, argumen ‘apa’ berisi ‘findstring.’ Karena nama ‘Aran’ akan dicari di kolom A, masukkan nama ini sebagai pengganti ‘findstring.’ Pastikan bahwa nama ini dimasukkan dalam tanda kutip ganda.

Lebih lanjut, karena contoh kedua dari nama ‘Aran’ perlu dicari, tentukan argumen ‘setelah’. Masukkan ‘A2’ sebagai argumen ‘setelah’. Ini karena kami ingin pencarian dimulai setelah sel A2.

Argumen fungsi FIND VBA ditunjukkan pada gambar berikut.

Penjelasan argumen ‘setelah’: Pencarian dimulai setelah sel A2 dan berlanjut hingga sel terakhir kolom A. Ini karena rentang pencarian telah ditentukan sebagai kolom A (A:A).

Jadi, karena pencarian dimulai dari sel A3, nilai ‘Aran’ ditemukan di sel A6 dari ‘Sheet2.’ Karenanya, sel A6 akan dipilih oleh fungsi FIND saat menjalankan kode.

Seandainya nama ‘Aran’ tidak ditemukan dari sel A3 hingga sel terakhir kolom A, pencarian akan dimulai lagi dari sel A1 dan kali ini berakhir di sel A2. Dengan demikian, sel yang ditentukan dalam argumen ‘setelah’ dicari tepat di akhir proses pencarian.

Langkah 8: Tutup kode dengan mengakhiri kondisi ‘jika’ dan ‘dengan’. Tutup argumen ‘sub’ dengan menulis ‘end sub.’ Kode lengkap ditunjukkan pada gambar berikutnya.

Jalankan kode dengan memilih ‘run sub/user form (F5)’ dari tab ‘run’ Excel VBA. Pesan InputBox muncul meminta nilai untuk dicari. Saat nama ‘Aran’ dimasukkan ke dalam kotak ini, hasilnya adalah pemilihan sel A6. Sel ini berisi contoh kedua dari nama ‘Aran.’

Seandainya kecocokan tidak ditemukan di seluruh ‘sheet2’, keluarannya akan menjadi ‘tidak ditemukan apa-apa.’ Respons ini ditentukan oleh fungsi kode MsgBox.

Pertanyaan yang Sering Diajukan

  1. Tentukan fungsi FIND dari VBA Excel.

Fungsi FIND dari VBA mencari nilai tertentu dalam rentang yang ditentukan oleh pengguna. Untuk mencari, kode VBA ditulis dengan memasukkan beberapa atau semua argumen dari fungsi FIND. Seseorang dapat menentukan arah pencarian, urutan pencarian, data yang akan dicari, format nilai pencarian, dan sebagainya. Fungsi

FIND mengembalikan sel yang berisi nilai yang ditentukan. Jika kecocokan tidak ditemukan, fungsi tidak mengembalikan apa pun.

Catatan: Untuk sintaks fungsi FIND, lihat judul ‘sintaks fungsi FIND VBA’ di artikel ini.

  1. Bagaimana menemukan kejadian terakhir dari string teks dengan menggunakan fungsi FIND dari VBA?

Untuk menemukan kemunculan terakhir, tentukan argumen ‘setelah’ dalam kode VBA. Argumen ini memberi tahu VBA sel yang tepat untuk memulai pencarian. Perhatikan bahwa, pada waktu tertentu, satu referensi sel dapat diberikan dalam argumen ini. Tidak mungkin mencantumkan beberapa referensi sel dalam argumen ‘setelah’.

Argumen ‘setelah’ dimasukkan mengikuti argumen ‘apa’ dari fungsi FIND. Misalnya, jika rentang pencarian e adalah A1:A25 dan sel A20 berisi kemunculan kedua terakhir dari nilai pencarian, kodenya ditulis sebagai berikut:

With Sheets (‘Sheet4’).Range(‘A1:A25′)Set Rng = .Find(What:=’textstring’, After:=Range(‘A20’))

Dengan kode ini, pencarian nilai ‘te xtstring’ dimulai setelah sel A20 di ‘sheet4.’ Fungsi FIND mencari dalam rentang A21:A25 dan mengembalikan kejadian terakhir dari nilai pencarian. Jika kecocokan tidak ditemukan dalam rentang A21:A25, fungsi akan mencari dalam rentang A1:A20.

Catatan: Untuk detail yang terkait dengan kerja argumen ‘setelah’, lihat ‘catatan 1’ dari sintaks dan ‘penjelasan’ dalam contoh #2 (setelah langkah 7) artikel ini.

  1. Dengan menggunakan fungsi FIND dari VBA, bagaimana cara menemukan string dengan menentukan beberapa karakternya?

Untuk menemukan string dengan menentukan bagiannya, masukkan argumen LookAt sebagai xlPart atau hilangkan argumen ini. Secara default, fungsi FIND mencocokkan karakter nilai pencarian dengan seluruh string. Kemudian mengembalikan sel yang berisi seluruh string ini.

Misalnya, kode yang berisi bagian dari string ditulis sebagai berikut:

With Sheets(“Sheet4”).Range(“A1:A25”)Set Rng = .Find(What:=”ssa”, LookAt:=xlPart)

Kode ini mencari karakter ‘ssa’ dalam rentang A1:A25 dari ‘sheet4.’ Sel yang berisi nilai ‘pesan teks’ dikembalikan, yang disebut kecocokan parsial. Oleh karena itu, terlepas dari apakah karakter dari nilai pencarian ditempatkan di awal, tengah, atau akhir string, Excel VBA mengembalikan kecocokan yang sesuai.

Catatan: Konstanta xlPart dapat dihilangkan dari kode karena merupakan nilai default dari fungsi FIND. Namun, jika argumen ini ditentukan, pastikan tidak ditempatkan dalam tanda kutip ganda.

Artikel yang Direkomendasikan

Ini telah menjadi panduan lengkap untuk fungsi VBA FIND. Di sini kita belajar bagaimana menggunakan fungsi Excel VBA FIND dengan contoh-contoh praktis dan lembar Excel yang dapat diunduh. Anda juga dapat melihat artikel lain yang terkait dengan Excel VBA–

  • Temukan dan Pilih di Excel Temukan Dan Pilih Di Excel Temukan dan Pilih di Excel adalah fitur yang tersedia di Tab Beranda Excel yang memfasilitasi pengguna untuk menemukan teks atau nilai tertentu dengan cepat dalam data yang diberikan. Tombol pintas untuk langsung menggunakan fitur ini adalah Ctrl+F.baca selengkapnya
  • VBA Find NextVBA Find NextVBA Find Next” berarti terus mencari nilai berikutnya dari sel yang ditemukan sampai kita kembali ke sel asli tempat kita memulai pencarian. Ini adalah versi lanjutan dari metode “Temukan”, yang mencari yang ditentukan nilai dalam rentang yang ditentukan hanya sekali.baca lebih lanjut
  • VBA IsDateVBA IsDateFungsi IsDate di VBA menentukan apakah nilai yang diberikan adalah tanggal atau bukan. Hasilnya akan “BENAR” jika nilai yang diberikan atau nilai referensi rentang adalah nilai tanggal. Jika tidak, maka hasilnya adalah “FALSE.”baca selengkapnya

Related Posts

Tinggalkan Balasan