Vba: cara memeriksa apakah suatu string berisi string lain
Anda dapat menggunakan fungsi Instr() di VBA untuk memeriksa apakah suatu string berisi string lain.
Fungsi ini menggunakan sintaks dasar berikut:
Instr(mulai, string1, string2, …)
Emas:
- start : Posisi awal pencarian
- string1 : String yang akan dicari
- string2 : string yang Anda coba temukan
Contoh berikut menunjukkan cara menggunakan fungsi ini dalam praktiknya.
Contoh: Gunakan VBA untuk memeriksa apakah string berisi string lain
Katakanlah kita memiliki kumpulan data berikut di Excel yang berisi informasi tentang berbagai tim bola basket:
Sekarang katakanlah kita ingin memeriksa apakah setiap string di kolom Tim berisi “avs” di suatu tempat di string tersebut.
Kita dapat menggunakan sintaks berikut di VBA untuk memeriksa apakah setiap string di kolom Tim berisi “avs” dan, jika demikian, kembalikan seluruh baris di kolom D dan E:
Sub StringContains() Dim i As Integer , i_num As Integer For i = 2 To 9 If InStr(1, LCase(Range(" A " & i)), " avs ") <> 0 Then i_num = i_num + 1 Range(" D " & i_num & " :E " & i_num) = Range(" A " & i & " :B " & i).Value End If Next i End Sub
Saat kami menjalankan makro ini, kami menerima keluaran berikut:
Perhatikan bahwa setiap baris yang berisi string “avs” di suatu tempat di kolom Tim dikembalikan di kolom D dan E.
Dalam contoh ini, hanya dua tim (Mavs dan Cavs) yang berisi “avs” di kolom Tim.
Untuk mencari string lain, cukup ganti “avs” pada kode di atas dengan string pilihan Anda.
Catatan #1: Dalam kode, kami menggunakan For i = 2 hingga 9 karena sel A2 hingga A9 berisi string yang kami minati. Jangan ragu untuk mengubah rentang ini tergantung pada rentang sel yang Anda cari.
Catatan #2 : Anda dapat menemukan dokumentasi lengkap fungsi Instr() di VBA 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 menghitung jumlah baris dalam jangkauan
VBA: Cara menghitung nilai rata-rata rentang