Cara menggunakan wildcard di vba (dengan contoh)
Anda dapat menggunakan operator Suka di VBA dengan wildcard bawaan berikut untuk mencari pola tertentu dalam string:
- * : Cocok dengan sejumlah karakter apa pun
- ? : Cocok dengan satu karakter
- # : sesuai dengan satu digit
- [] : cocok dengan karakter apa pun dalam jangkauan
Contoh berikut menunjukkan cara menggunakan wildcard ini dalam praktiknya.
Contoh 1: Gunakan *Wildcard untuk mencari substring
Misalkan kita memiliki daftar makanan berikut di kolom A:
Kita dapat membuat makro berikut untuk mencari substring “panas” di setiap string di kolom A dan menampilkan hasilnya di kolom B:
Sub FindString()
Dim i As Integer
For i = 2 To 10
If Range(" A " & i) Like " *hot* " Then
Range(" B " & i) = " Contains hot "
Else
Range(" B " & i) = " Does Not Contain hot "
End If
Next i
End Sub
Saat kami menjalankan makro ini, kami menerima keluaran berikut:
Contoh 2: Gunakan karakter wildcard * untuk mencari string yang diakhiri dengan suatu pola
Misalkan kita memiliki daftar nama tim bola basket berikut di kolom A:
Kita dapat membuat makro berikut untuk mencari string di kolom A yang diakhiri dengan “ets” dan menampilkan hasilnya di kolom B:
Sub FindEndingString()
Dim i As Integer
For i = 2 To 10
If Range(" A " & i) Like " *ets " Then
Range(" B " & i) = " Ends in ets "
Else
Range(" B " & i) = " Does Not End in ets "
End If
Next i
End Sub
Saat kami menjalankan makro ini, kami menerima keluaran berikut:
Contoh 3: Gunakan wildcard # untuk mencari nomor
Misalkan kita memiliki daftar string berikut di kolom A:
Kita bisa membuat makro berikut untuk mencari string di kolom A yang berisi angka dan menampilkan hasilnya di kolom B:
SubFindNumbers ()
Dim i As Integer
For i = 2 To 10
If Range(" A " & i) Like " *#* " Then
Range(" B " & i) = " Contains Numbers "
Else
Range(" B " & i) = " Does Not Contain Numbers "
End If
Next i
End Sub
Saat kami menjalankan makro ini, kami menerima keluaran berikut:
Contoh 4: Gunakan wildcard [] untuk mencari beberapa karakter
Misalkan kita memiliki daftar nama tim bola basket berikut di kolom A:
Kita bisa membuat makro berikut untuk mencari kolom A untuk string yang berisi r, s, atau t di suatu tempat di nama tim dan menampilkan hasilnya di kolom B:
Sub FindSpecificLetters()
Dim i As Integer
For i = 2 To 10
If Range(" A " & i) Like " *[rt]* " Then
Range(" B " & i) = " Contains r, s, or t "
Else
Range(" B " & i) = " Does Not Contain r, s or t "
End If
Next i
End Sub
Saat kami menjalankan makro ini, kami menerima keluaran berikut:
Catatan : Anda dapat menemukan dokumentasi wildcard VBA lengkap di sini .
Sumber daya tambahan
Tutorial berikut menjelaskan cara melakukan tugas umum lainnya menggunakan VBA:
VBA: Cara menghitung kemunculan karakter dalam sebuah string
VBA: cara memeriksa apakah suatu string berisi string lain
VBA: Cara menghitung sel dengan teks tertentu