Vba: cara mengekstrak teks antara dua karakter
Anda dapat membuat fungsi khusus berikut di VBA untuk mengekstrak teks antara dua karakter tertentu:
Function ExtractBetween(this_text, start_char, end_char) StartPosition = InStr(this_text, start_char) EndPosition = InStr(this_text, end_char) ExtractBetween = Mid(this_text, StartPosition + 1, EndPosition - StartPosition - 1) End Function
Anda kemudian dapat menggunakan fungsi ini untuk mengekstrak teks antara dua karakter tertentu menjadi karakter tertentu di Excel.
Contoh berikut menunjukkan cara menggunakan fungsi ini dalam praktiknya.
Contoh: Menggunakan VBA untuk mengekstrak teks antara dua karakter
Misalkan kita memiliki kumpulan data berikut di Excel yang berisi nilai ID dan total penjualan berbagai produk di suatu perusahaan:
Misalkan kita ingin menggunakan VBA untuk mengekstrak teks dalam tanda kurung untuk setiap sel di kolom A dan mengembalikan hasilnya di kolom C.
Kita dapat membuat fungsi berikut untuk melakukan ini:
Function ExtractBetween(this_text, start_char, end_char) StartPosition = InStr(this_text, start_char) EndPosition = InStr(this_text, end_char) ExtractBetween = Mid(this_text, StartPosition + 1, EndPosition - StartPosition - 1) End Function
Kita kemudian dapat mengetikkan rumus berikut di sel C2 untuk mengekstrak teks dalam tanda kurung untuk teks di sel A2 :
=ExtractBetween( A2 , "(", ")")
Kita kemudian dapat mengklik dan menyeret rumus ini ke setiap sel yang tersisa di kolom C:
Kolom C sekarang menampilkan teks dalam tanda kurung untuk setiap sel yang cocok di kolom A.
Catatan : Rumus ini bekerja dengan menggunakan fungsi Instr di VBA untuk mengekstrak posisi karakter awal dan akhir tertentu, kemudian menggunakan fungsi Mid untuk mengembalikan semua teks di antara dua karakter tersebut.
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