Vba'da substitute nasıl kullanılır (örnekle)
Bir dizedeki belirli bir metnin tüm oluşumlarını yeni metinle değiştirmek için VBA’daki Substitute() yöntemini kullanabilirsiniz.
Bu yöntem aşağıdaki temel sözdizimini kullanır:
Yedek (Metin, Eski_metin, Yeni_metin, Örnek_num)
Altın:
- Metin : Karakterleri değiştirmek istediğiniz metin
- Eski_metin : Değiştirilecek metin
- Yeni_metin : Yerine kullanılacak metin
- Örnek_num ( isteğe bağlı ) : eski metnin hangi örneğinin değiştirileceği. Hiçbiri belirtilmezse, eski metnin tüm geçtiği yerler değiştirilir.
Aşağıdaki örnekler bu yöntemin pratikte nasıl kullanılacağını göstermektedir.
Örnek: VBA’da Substitute nasıl kullanılır?
Excel’de aşağıdaki ifade listesine sahip olduğumuzu varsayalım:
Bunun yerine, her hücredeki her boşluğu virgülle değiştirmek istediğimizi varsayalım.
Bunun için aşağıdaki makroyu oluşturabiliriz:
Sub SubstituteText()
Dim rng As Range, cell As Range
Set rng = Range(" A2:A9 ")
For Each cell In rng
cell = WorksheetFunction.Substitute(cell, " ", ",")
Next
End Sub
Bu makroyu çalıştırdığımızda aşağıdaki çıktıyı alıyoruz:
A sütunundaki her hücredeki her boşluğun virgülle değiştirildiğini unutmayın.
Her boşluğu hiçbir şeyle değiştirmek için aşağıdaki sözdizimini de kullanabileceğimizi unutmayın:
Sub SubstituteText()
Dim rng As Range, cell As Range
Set rng = Range(" A2:A9 ")
For Each cell In rng
cell = WorksheetFunction.Substitute(cell, " ", "")
Next
End Sub
Bu makroyu çalıştırdığımızda aşağıdaki çıktıyı alıyoruz:
A sütunundaki her hücredeki her boşluğun hiçbir şeyle değiştirilmediğine dikkat edin.
Yani A sütunundaki her hücredeki boşlukların her birini kaldırdık.
Not : VBA Yedek yöntemine ilişkin tüm belgeleri burada bulabilirsiniz.
Ek kaynaklar
Aşağıdaki eğitimlerde VBA kullanılarak diğer ortak görevlerin nasıl gerçekleştirileceği açıklanmaktadır:
VBA: Bir dizedeki karakterlerin oluşumlarını sayma
VBA: bir dizenin başka bir dize içerip içermediği nasıl kontrol edilir
VBA: Belirli bir metin içeren hücreler nasıl sayılır?