Vba: cara mengganti karakter dalam sebuah string
Anda dapat menggunakan metode Ganti() di VBA untuk mengganti karakter dalam sebuah string.
Metode ini menggunakan sintaks dasar berikut:
Ganti (ekspresi, temukan, ganti, mulai, hitung)
Emas:
- ekspresi : String yang karakternya ingin Anda ganti
- find : String yang akan dicari
- replace : String yang akan digunakan sebagai pengganti
- start ( opsional ) : Posisi awal dalam string yang akan dicari
- count ( opsional ) : Jumlah penggantian yang harus dilakukan
Contoh berikut memperlihatkan cara menggunakan metode ini dalam praktik dengan daftar string berikut di Excel:
Contoh 1: Gunakan VBA untuk mengganti semua kemunculan karakter dalam string (peka huruf besar/kecil)
Katakanlah kita ingin mengganti “ini” dengan “ITU” di setiap string.
Kita dapat membuat makro berikut untuk melakukan ini:
Sub ReplaceChar() Dim i As Integer For i = 2 To 8 Range(" B " & i) = Replace(Range(" A " & i), " this ", " THAT ") Next i End Sub
Saat kami menjalankan makro ini, kami menerima keluaran berikut:
Kolom B menampilkan masing-masing string di kolom A, dengan setiap kemunculan “ini” diganti dengan “ITU”.
Perhatikan bahwa penggantian ini peka huruf besar-kecil .
Artinya, setiap kemunculan “ini” diganti tetapi setiap kemunculan “ini” dibiarkan saja.
Contoh 2: Gunakan VBA untuk mengganti semua kemunculan karakter dalam string (tidak peka huruf besar-kecil)
Katakanlah kita ingin mengganti “ini” (apa pun hurufnya) dengan “ITU” di setiap string.
Kita dapat membuat makro berikut untuk melakukan ini:
Sub ReplaceChar() Dim i As Integer For i = 2 To 8 Range(" B " & i) = Replace(LCase(Range(" A " & i)), " this ", " THAT ") Next i End Sub
Saat kami menjalankan makro ini, kami menerima keluaran berikut:
Kolom B menampilkan masing-masing string di kolom A, dengan setiap kemunculan “ini” diganti dengan “ITU”.
Perhatikan bahwa penggantian ini tidak peka huruf besar-kecil .
Artinya, setiap kemunculan “ini” (baik menggunakan huruf kapital atau tidak) diganti.
Kami dapat melakukan penggantian peka huruf besar-kecil ini dengan menggunakan metode LCase untuk terlebih dahulu mengonversi setiap string di kolom A menjadi huruf kecil sebelum mencari “ini” di setiap string.
Contoh 3: Gunakan VBA untuk Mengganti N Kemunculan Pertama Karakter dalam String
Misalkan kita hanya ingin mengganti kemunculan pertama “ini” (apa pun kasusnya) dengan “ITU” di setiap string.
Kita dapat membuat makro berikut untuk melakukan ini:
Sub ReplaceChar() Dim i As Integer For i = 2 To 8 Range(" B " & i) = Replace(LCase(Range(" A " & i)), " this ", " THAT ", Count:=1) Next i End Sub
Saat kami menjalankan makro ini, kami menerima keluaran berikut:
Kolom B menampilkan masing-masing string di kolom A dengan hanya kemunculan pertama “ini” yang diganti dengan “ITU”.
Perhatikan bahwa kami menggunakan Count:=1 untuk mengganti hanya kemunculan pertama dari string tertentu, tetapi Anda dapat mengganti 1 dengan nilai apa pun yang Anda inginkan untuk mengganti n kemunculan pertama dari string tertentu.
Catatan : Anda dapat menemukan dokumentasi lengkap untuk metode Ganti 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 memeriksa apakah suatu string berisi string lain
VBA: Cara menghitung sel dengan teks tertentu