Excel VBA Dizeyi Değiştir
Değiştir, hem Çalışma Sayfası işlevi hem de VBA işlevidir. Bu işlev, dizedeki belirli sözcüğü başka bir dizeyle değiştirmemize yardımcı olur. VBA'daki Substitute işlevine benzer şekilde çalışır.
Test dizesi veya metin veri değerleri ile uğraşırken, bir şeyi başka bir şeyle değiştirmek veya ikame etmek, iki hücre verisini bire birleştirmek veya bir hücre verisini birden çok şeye bölmek apaçık bir şeydir. Bunların hepsi işyerimizde her gün yaptığımız ortak görevlerdir.
Öyleyse, dizedeki bir kelimeyi başka bir kelimeyle nasıl değiştiririz? Örneğin, bu dizedeki dize "Hindistan gelişmekte olan bir ülkedir ve Asya Ülkesinde Hindistan" ise, "Hindistan" kelimesini değiştirip "Bharath" olarak değiştirmemiz gerekir.
Bu, Değiştir işlevini kullanarak mümkündür. Bu yazıda, VBA kodlamasında dizeleri nasıl değiştireceğinizi göstereceğiz.

İşlevi Değiştir

- İfade: Bu, bir şeyi bir şeyle değiştirmeye çalıştığımız orijinal dize değerinden başka bir şey değildir. Örneğin, aşağıda "Hindistan gelişmekte olan bir ülkedir ve Asya Ülkesinde Hindistan" ifade dizesidir.
- Find String: Değiştirmeye çalıştığımız dizge nedir. Örneğin, İfade dizesinde "Hindistan" kelimesini değiştirmeye çalışıyoruz.
- Dizgeyi Değiştirin: Bulma Dizesini değiştirdiğimiz ikame dize nedir ? Dolayısıyla, bu durumda, "Hindistan" kelimesini "Bharath" ile değiştirmeye çalışıyoruz.
- (Başlat): Bu isteğe bağlı bir parametredir. Yukarıdaki dizede (İfade), iki kelimemiz var, "Hindistan", bu nedenle, Bulma Dizesinin hangi konumundan , değiştirme sürecini başlatmamız gerekir. Örneğin 2 dersek, ikinci pozisyondan itibaren “Hindistan” kelimesinin yerini almaya başlayacaktır.
- (Kont): Eğer Bul Dize birden fazla kez görünüyor İfade, biz değiştirmeniz gerekiyor sonra kaç kelime.
Örneğin, "Hindistan" kelimesi 5 kez görünüyorsa ve sayıyı 3 olarak verirseniz, yalnızca ilk 3 "Hindistan" kelimesinin yerini alacaktır.
VBA Kullanarak Dizedeki Metin Nasıl Değiştirilir?
Örnek 1
Şimdi "Hindistan" kelimesini aşağıdaki dize değerinden "Bharath" ile değiştirmeye çalışacağız.
"Hindistan gelişmekte olan bir ülke ve Asya Ülkesinde Hindistan."
İlk olarak, şimdi excel makro prosedürünü başlatın.
Kod:
Sub Replace_Example () End Sub

VBA değişkenini String olarak tanımlayın.
Kod:
Sub Replace_Example () Dim NewString As String End Sub

Bu değişkende, "Hindistan" kelimesini "Bharath" ile değiştirdikten sonra yeni bir dize değeri göstereceğiz. Bu değişken için Değiştir işlevini açın.

Bu işlevin ilk argümanı "İfade" dir, yani hangi dizeden bir kelimeyi değiştirmeye çalışıyoruz, bu nedenle "Hindistan gelişmekte olan bir ülkedir ve Asya Ülkesinde Hindistan" dizesini kopyalayıp yapıştırın.

Bir sonraki argüman "Find String", yani hangi kelimeyi değiştirmemiz gerekiyor, yani "Hindistan".

Bir sonraki argüman "Dizeyi Değiştir" dir, yani "Hindistan", yani "Bharath" kelimesini değiştirmemiz gereken dizedir.

Tamam, şu andan itibaren, kalan argümanları yok sayın. Şimdi sonucu mesaj kutusunda gösterin.
Kod:
Sub Replace_Example () Dim NewString As String NewString = Değiştir ("Hindistan gelişmekte olan bir ülkedir ve Hindistan Asya Ülkesidir", "Hindistan", "Bharath") MsgBox NewString End Sub

Kodu F5 tuşunu kullanarak veya manuel olarak çalıştıralım ve yeni string sonucunu görelim.

Tamam, yukarıdaki sonuca bakın. "Hindistan" kelimesinin olduğu her yerde "Bharath" kelimesi ile değiştirildi.
Örnek 2
Şimdi aynı kodu değişkenlerle nasıl kullanacağımızı göreceğiz. Aşağıdaki koda bakın.
Kod:
Sub Replace_Example1 () Dim NewString As String Dim MyString As String FindString Dim FindString As String ReplaceString As String MyString = "Hindistan gelişmekte olan bir ülke ve Hindistan Asya Ülkesidir" FindString = "Hindistan" ReplaceString = "Bharath" NewString = Değiştir (MyString , FindString, ReplaceString) MsgBox NewString End Sub

Yukarıdaki kodda, fazladan üç değişken tanımladım.
Dim MyString As String Dim FindString As String Dim ReplaceString As String
Bu değişkenler için değerler atadım. Bunun yerine sağlamakla İfade String, String bul ve String değiştirin, biz değiştirin işlevine tek değişken tedarik edecek.
Bu kod da aynı sonucu verir, ancak tek fark, işleve doğrudan değer sağlanması yerine değişkenler kullanmış olmamızdır.
Örnek 3
Assume you want to replace the word “India” only from the second position, then we need to use the Replace function parameter (“Start”). Look at the below code for your information.
Code:
Sub Replace_Example2() 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, Start:=34) MsgBox NewString End Sub

Only one extra thing we have added from the previous code is the “Start” parameter as 34. Now run the code and see the result.

Now we can see only string after the 34th character of the string with “India” replacing with “Bharath.”

Example #4
Now for an example, if we want to replace only the first occurrence of the word “India” with “Bharath,” then we need to use the (“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
- Değiştir, VBA'daki bir dize işlevi ailesidir.
- VBA'da, count parametresi belirtilmemişse, değiştirme işlevi sağlanan tüm sözcükleri değiştirilen dizeyle değiştirir.
- Başlangıç parametresi, sağlanan karakter sayısını siler ve kalan sonucu gösterir.