VBA Ganti String

Excel VBA Ganti String

Replace adalah fungsi Worksheet serta fungsi VBA. Fungsi ini membantu kita mengganti kata tertentu dari string dengan string lain. Cara kerjanya mirip dengan fungsi Pengganti di VBA.

Saat berurusan dengan string pengujian atau nilai data teks, adalah hal yang jelas untuk mengganti atau mengganti sesuatu dengan sesuatu yang lain, menggabungkan dua data sel menjadi satu atau memisahkan satu data sel menjadi beberapa hal. Ini semua adalah tugas umum yang kita lakukan setiap hari di tempat kerja kita.

Jadi, bagaimana kita mengganti satu kata dalam string dengan kata lain? Misalnya, jika stringnya adalah “India adalah negara berkembang dan India di Negara Asia”, dari string ini kita perlu mengganti kata “India” dan diubah menjadi “Bharath”.

Ini dimungkinkan dengan menggunakan fungsi Replace. Pada artikel ini, kami akan menunjukkan kepada Anda bagaimana cara mengganti string dalam pengkodean VBA.

Fungsi Ganti

  • Ekspresi: Ini tidak lain adalah nilai string asli tempat kami mencoba mengganti sesuatu dengan sesuatu. Untuk contoh di bawah ini adalah string ekspresi - "India adalah negara berkembang dan India di Negara Asia"
  • Temukan String: Apa string yang coba kita ganti. Misalnya dalam string Expression kami mencoba mengganti kata "India".
  • Replace String: Apa string pengganti yang kita gunakan untuk mengganti Find String ? Jadi, dalam hal ini, kami mencoba mengganti kata “India” dengan “Bharath”.
  • [Mulai]: Ini adalah parameter opsional. Pada string (Expression) di atas kita memiliki dua kata “India” jadi dari posisi Find String mana kita perlu memulai proses penggantian. Misalnya, jika kita mengucapkan 2, kata itu akan mulai menggantikan kata “India” dari posisi kedua dan seterusnya.
  • [Hitung]: Jika Temukan String muncul beberapa kali dalam Expression maka berapa banyak kata yang perlu kita ganti.

Misalnya, jika kata “India” muncul 5 kali dan jika Anda memasukkan hitungannya sebagai 3 maka itu hanya akan menggantikan 3 kata “India” pertama.

Bagaimana cara mengganti teks dalam string menggunakan VBA?

Anda dapat mengunduh Template Replace String Excel VBA ini di sini - VBA Replace String Excel Template

Contoh 1

Sekarang kita akan mencoba mengganti kata "India" dengan "Bharath" dari nilai string di bawah ini.

“India adalah negara berkembang dan India di Negara Asia”

Pertama, mulai prosedur makro excel sekarang.

Kode:

 Sub Replace_Example () End Sub 

Tentukan variabel VBA sebagai String.

Kode:

 Sub Replace_Example () Redupkan NewString Sebagai String End Sub 

Dalam variabel ini, kita akan menampilkan nilai string baru setelah mengganti kata “India” dengan “Bharath”. Untuk variabel ini, buka fungsi Ganti.

Argumen pertama dari fungsi ini adalah "Ekspresi" yaitu dari string mana kami mencoba mengganti kata, jadi salin dan tempel string "India adalah negara berkembang dan India di Negara Asia".

Argumen selanjutnya adalah “Find String” yaitu kata mana yang perlu kita ganti yaitu “India”.

Argumen selanjutnya adalah "Ganti String" yaitu dengan string mana kita perlu mengganti kata "India" yaitu "Bharath".

Oke, mulai sekarang abaikan argumen yang tersisa. Sekarang tunjukkan hasilnya di kotak pesan.

Kode:

 Sub Replace_Example () Redupkan NewString As String NewString = Ganti ("India adalah negara berkembang dan India adalah Negara Asia", "India", "Bharath") MsgBox NewString End Sub 

Mari jalankan kode menggunakan tombol F5 atau secara manual dan lihat hasil string baru.

Oke, lihat hasil di atas di mana pun kita memiliki kata "India" itu telah diganti dengan kata "Bharath".

Contoh # 2

Sekarang kita akan melihat bagaimana menggunakan kode yang sama dengan variabel. Lihat kode di bawah ini.

Kode:

 Sub Replace_Example1 () Dim NewString As String Dim MyString As String Dim FindString As String Dim ReplaceString As String MyString = "India adalah negara berkembang dan India adalah Negara Asia" FindString = "India" ReplaceString = "Bharath" NewString = Replace (MyString , FindString, ReplaceString) MsgBox NewString End Sub 

Dalam kode di atas, saya telah mendeklarasikan tiga variabel tambahan.

 Dim MyString Sebagai String Dim FindString Sebagai String Dim ReplaceString Sebagai String 

Untuk variabel-variabel ini saya telah menetapkan nilai-nilai, alih-alih menyediakan String Ekspresi, Temukan String, dan Ganti String, kami hanya akan menyediakan variabel ke fungsi Ganti.

Kode ini juga memberikan hasil yang sama tetapi satu-satunya perbedaan adalah kita menggunakan variabel alih-alih memberikan nilai langsung ke fungsi.

Contoh # 3

Asumsikan Anda ingin mengganti kata “India” hanya dari posisi kedua maka kita perlu menggunakan parameter fungsi Replace [“Start”]. Lihat kode di bawah ini untuk informasi Anda.

Kode:

 Sub Replace_Example2 () Dim NewString As String Dim MyString As String Dim FindString As String Dim ReplaceString As String MyString = "India adalah negara berkembang dan India adalah Negara Asia" FindString = "India" ReplaceString = "Bharath" NewString = Replace (MyString , FindString, ReplaceString, Mulai: = 34) MsgBox NewString End Sub 

Hanya satu hal tambahan yang telah kita tambahkan dari kode sebelumnya adalah parameter "Start" sebagai 34. Sekarang jalankan kode dan lihat hasilnya.

Sekarang kita hanya bisa melihat string setelah karakter ke-34 dari string dengan "India" diganti dengan "Bharath".

Contoh # 4

Now for an example, if we want to replace only the first occurrence of the word “India” to “Bharath” then we need to use [“Count”] parameter of the Replace function.

Below is the code for you.

Code:

 Sub Replace_Example3() Dim NewString As String Dim MyString As String Dim FindString As String Dim ReplaceString As String MyString = "India is a developing country and India is the Asian Country" FindString = "India" ReplaceString = "Bharath" NewString = Replace(MyString, FindString, ReplaceString, Count:=1) MsgBox NewString End Sub 

Run the code manually or through the F5 key and see the result.

As you can see above it has replaced only the first occurrence of the word “India” to “Bharath” and the second instance remains the same.

Things to Remember Here

  • Replace is a string function family in VBA.
  • In VBA, the replace function replaces all the supplied words with replaced string if the count parameter is not specified.
  • The start parameter will delete the number of characters supplied and show the remaining result.