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?

Yorum ekle

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir