Vba: bir dizeden özel karakterler nasıl kaldırılır
Dizelerden özel karakterleri kaldırmak için VBA’da aşağıdaki temel sözdizimini kullanabilirsiniz:
Sub ReplaceSpecialChars()
Dim i As Integer
For i = 2 To 8
Range("B" & i) = Replace(Replace(Replace(Range("A" & i), "!", ""), "@", ""), "#", "")
Next i
End Sub
Bu özel örnek, A2:A8 hücre aralığındaki her dizede aşağıdaki özel karakterleri değiştirir ve B2:B8 hücrelerinde yeni dizeler oluşturur:
- !
- @
- #
Bu özel karakterlerin her birini dizelerden kaldırmak için üç iç içe Değiştir yöntemini kullandığımızı unutmayın.
Daha da özel karakterleri kaldırmak için daha fazla iç içe geçmiş Değiştirme yöntemlerini kullanmanız yeterlidir.
Aşağıdaki örnek, bu sözdiziminin pratikte nasıl kullanılacağını gösterir.
Örnek: VBA Kullanarak Bir Dizeden Özel Karakterleri Kaldırma
Excel’de aşağıdaki dize listesine sahip olduğumuzu varsayalım:
Aşağıdaki özel karakterleri her dizeden kaldırmak istediğimizi varsayalım:
- !
- @
- #
Bunun için aşağıdaki makroyu oluşturabiliriz:
Sub ReplaceSpecialChars()
Dim i As Integer
For i = 2 To 8
Range("B" & i) = Replace(Replace(Replace(Range("A" & i), "!", ""), "@", ""), "#", "")
Next i
End Sub
Bu makroyu çalıştırdığımızda aşağıdaki çıktıyı alıyoruz:
B sütunu, A sütunundaki dizelerin her birini, özel karakterler kaldırılmış olarak görüntüler.
Not : VBA Değiştirme yöntemine ilişkin tüm belgeleri burada bulabilirsiniz.
Ek kaynaklar
Aşağıdaki eğitimlerde VBA kullanarak diğer genel görevlerin nasıl gerçekleştirileceği açıklanmaktadır:
VBA: Bir dizedeki karakterlerin oluşumları nasıl sayılır?
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?