Daftar Isi
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.xlsm5 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.