Cara Menemukan Kecocokan Tepat Menggunakan VBA di Excel (5 Cara)

  • Bagikan Ini
Hugh West

Jika Anda mencari beberapa cara termudah untuk menemukan kecocokan yang tepat menggunakan VBA Jadi, mari kita mulai dengan artikel ini dan mengenal cara-cara menemukan kecocokan yang tepat.

Unduh Buku Kerja

VBA Temukan Pencocokan Tepat.xlsm

5 Cara Menemukan Kecocokan Tepat Menggunakan VBA

Saya telah menggunakan tabel berikut yang memiliki catatan hasil dari beberapa siswa. Saya akan menjelaskan berbagai cara untuk menemukan kecocokan yang tepat dengan menggunakan tabel ini dengan bantuan VBA.

Untuk tujuan ini, saya telah menggunakan versi Microsoft Excel 365, Anda dapat menggunakan versi lain sesuai dengan kenyamanan Anda.

Metode-1: Menemukan Kecocokan Tepat dalam Rentang Sel

Jika Anda ingin menemukan kecocokan yang tepat dari sebuah string seperti nama siswa dan kemudian menemukan posisi sel siswa ini maka Anda dapat melakukannya dengan mengikuti metode ini.

Di sini, saya akan menemukan kecocokan yang tepat untuk siswa bernama "Joseph Micahel" .

Langkah-01 :

➤Pergi ke Pengembang Tab>> Visual Basic Opsi

Kemudian, itu Editor Visual Basic akan terbuka.

➤Pergi ke Sisipkan Tab>> Modul Opsi

Setelah itu, a Modul akan dibuat.

Langkah-02 :

➤Tulis kode berikut

 Sub searchtxt() Dim rng As Range Dim str As String Set rng = Sheets("exact match").Range("B5:B10").Find("Joseph Michael", LookIn:=xlValues) If Not rng Is Nothing Then str = rng.Address MsgBox (rng & " in " & str) End If End Sub 

Di sini, "sama persis" adalah nama sheet dan "B5:B10" adalah rentang nama siswa, dan "Joseph Michael" adalah nama siswa yang akan dicari tahu.

rng dideklarasikan sebagai objek range dan str sebagai variabel string untuk menyimpan alamat dari item yang dicari.

The JIKA akan menetapkan alamat item ke str variabel.

➤ Tekan F5

Hasil :

Setelah itu, Anda akan mendapatkan yang berikut ini Kotak Pesan yang berisi posisi sel dari siswa bernama "Joseph Michael" .

Baca selengkapnya: Temukan dalam Rentang dengan VBA di Excel: Termasuk Kecocokan Tepat dan Parsial

Metode-2: Menemukan Kecocokan Tepat dan Menggantinya Menggunakan VBA

Saya akan menunjukkan cara untuk menemukan nama siswa yang ditunjukkan dan kemudian menggantinya dengan nama lain karena entah bagaimana keliru nama ini telah ditulis di sini. Anda bisa temukan string yang Anda inginkan dan ganti dengan mengikuti metode ini.

Langkah-01 :

➤Ikuti Langkah-01 dari Metode-1

 Sub FindandReplace() Dim rng As Range Dim str As String With Worksheets("find&replace").Range("B5:B10") Set rng = .Find("Donald Paul", LookIn:=xlValues) If Not rng Is Nothing Then str = rng.Address Do rng.Value = Replace(rng.Value, "Donald Paul", "Henry Jackson") Set rng = .FindNext(rng) Loop While Not rng Is Nothing End If End With End Sub 

Di sini, "temukan & ganti" adalah nama sheet dan "B5:B10" adalah rentang nama siswa, dan "Donald Paul" adalah nama siswa yang akan dicari tahu dan kemudian "Henry Jackson" akan menjadi nama siswa, bukan nama sebelumnya.

DENGAN akan menghindari pengulangan potongan kode dalam setiap pernyataan.

The JIKA akan menetapkan alamat item ke str variabel dan DO loop akan mengganti semua kemunculan kata pencarian.

➤ Tekan F5

Hasil :

Setelah itu, Anda akan mendapatkan nama siswa baru sebagai "Henry Jackson" .

Metode-3: Menemukan Kecocokan Tepat dan Peka Huruf

Jika Anda ingin menemukan kecocokan case-sensitive maka ikuti metode ini. Di sini, saya memiliki dua nama yang mirip satu sama lain tetapi ada perbedaan dalam kasus dan tergantung pada kasusnya, saya akan mengganti nama siswa terakhir.

Langkah-01 :

➤Ikuti Langkah-01 dari Metode-1

 Sub exactmatch() Dim rng As Range Dim str As String With Worksheets("case-sensitive").Range("B5:B10") Set rng = .Find("Donald Paul", LookIn:=xlValues, LookAt:=xlWhole, MatchCase:=True) If Not rng Is Nothing Then str = rng.Address Do rng.Value = Replace(rng.Value, "Donald Paul", "Henry Jackson") Set rng = .FindNext(rng) Loop While Not rng Is Nothing End If End With EndSub 

Di sini, "peka huruf besar-kecil" adalah nama sheet dan "B5:B10" adalah rentang nama siswa, dan "Donald Paul" adalah nama siswa yang akan dicari tahu, dan kemudian "Henry Jackson" akan menjadi nama siswa, bukan nama sebelumnya.

DENGAN akan menghindari pengulangan potongan kode dalam setiap pernyataan.

The JIKA akan menetapkan alamat item ke str variabel dan DO loop akan mengganti semua kemunculan kata pencarian.

➤ Tekan F5

Hasil :

Sekarang, menurut kasus tersebut, nama siswa akan diubah menjadi "Henry Jackson" .

Bacaan serupa:

  • Cara Menemukan String dalam Sel Menggunakan VBA di Excel (2 Metode)
  • VBA Temukan di Kolom di Excel (7 Pendekatan)
  • Cara Menemukan String dengan VBA di Excel (8 Contoh)

Metode-4: Menggunakan fungsi InStr

Misalkan, Anda ingin mencocokkan Lulus atau Gagal berkorespondensi untuk nama-nama siswa tergantung pada Kolom hasil di mana Lulus atau Gagal telah ditulis. Untuk menemukan string ini di dalam Kolom hasil dan tuliskan "Lulus" di Kolom status untuk siswa yang telah lulus ujian, Anda dapat menggunakan fungsi InStr .

Langkah-01 :

➤Ikuti Langkah-01 dari Metode-1

 Sub Checkstring() Dim cell As Range For Each cell In Range("C5:C10") If InStr(cell.Value, "Pass")> 0 Then cell.Offset(0, 1).Value = "Passed" Else cell.Offset(0, 1).Value = " " End If Next cell End Sub 

Di sini, kisaran selnya adalah C5: C10 yang merupakan Kolom hasil

InStr(sel. nilai, "Lulus")> 0 adalah kondisi di mana angkanya lebih besar dari nol (ketika sel berisi "Lulus" ) maka baris berikut akan berlanjut dan memberikan output di sel yang berdekatan sebagai Lulus .

Jika kondisinya menjadi false berarti sel tidak mengandung "Lulus" maka garis di bawah ELSE akan mengeksekusi dan memberikan nilai output di sel yang berdekatan sebagai Kosong .

Perulangan ini akan berlanjut untuk setiap sel.

➤ Tekan F5

Hasil :

Kemudian, Anda akan mendapatkan "Lulus" status bagi para siswa yang telah lulus.

Metode-5: Menemukan Kecocokan Tepat dan Mengekstrak Data

Jika Anda ingin mengekstrak data yang sesuai untuk seorang siswa bernama "Michael James" maka Anda bisa mengikuti metode ini.

Langkah-01 :

➤Ikuti Langkah-01 dari Metode-1

 Sub Extractdata() Dim lastusedrow As Long Dim i As Integer, icount As Integer lastusedrow = ActiveSheet.Range("B100").End(xlUp).Row For i = 1 To lastusedrow If InStr(1, Range("B" & i), "Michael James")> 0 Then icount = icount + 1 Range("E" & icount & ":G" & icount) = Range("B" & i & ":D" & i).Value End If Next i End Sub 

Di sini, saya telah menggunakan B100 sebagai Rentang Lembar Aktif (Anda bisa menggunakan kisaran apa pun sesuai dengan penggunaan Anda).

InStr(1, Range("B" & i), "Michael James")> 0 adalah kondisi untuk memeriksa apakah sel dalam kolom B berisi Michael James .

Range ("E" & icount & ":G" & icount) adalah rentang di mana Anda menginginkan data output Anda dan Range("B" & i & ":D" & i).value akan memberikan nilai-nilai dari kolom B untuk D .

➤ Tekan F5

Hasil :

Setelah itu, Anda akan mendapatkan data yang diekstrak berikut ini untuk siswa yang memiliki nama Michael James .

Bagian Latihan

Untuk melakukan latihan sendiri, kami telah menyediakan Praktek seperti di bawah ini dalam lembar bernama Praktek . Silakan lakukan sendiri.

Kesimpulan

Dalam artikel ini, saya mencoba untuk membahas cara termudah untuk menemukan padanan yang tepat dengan menggunakan VBA Jika Anda memiliki saran atau pertanyaan, jangan ragu untuk membagikannya dengan kami.

Hugh West adalah pelatih dan analis Excel yang sangat berpengalaman dengan pengalaman lebih dari 10 tahun di industri ini. Beliau meraih gelar Sarjana di bidang Akuntansi dan Keuangan dan gelar Master di bidang Administrasi Bisnis. Hugh memiliki hasrat untuk mengajar dan telah mengembangkan pendekatan pengajaran unik yang mudah diikuti dan dipahami. Pengetahuan ahlinya tentang Excel telah membantu ribuan siswa dan profesional di seluruh dunia meningkatkan keterampilan dan unggul dalam karier mereka. Melalui blognya, Hugh membagikan pengetahuannya kepada dunia, menawarkan tutorial Excel gratis dan pelatihan online untuk membantu individu dan bisnis mencapai potensi penuh mereka.