Vba: bir dizeden son karakter nasıl kaldırılır


VBA kullanarak bir dizedeki son karakteri kaldırmak için aşağıdaki temel sözdizimini kullanabilirsiniz:

 Sub RemoveLastChar()

    Dim i As Integer
    Dim myString As String

    For i = 2 To 11
    myString = Range(" A " & i)
    Range(" B " & i) = Left(myString, Len(myString) - 1)
    Next i
    
End Sub

Bu özel örnek, A2:A11 aralığındaki her dizedeki son karakteri kaldırır ve sonuçları B2:B11 aralığında görüntüler.

Aşağıdaki örnek, bu sözdiziminin pratikte nasıl kullanılacağını gösterir.

Örnek: Dizelerden Son Karakteri Kaldırmak için VBA’yı Kullanma

Excel’de aşağıdaki basketbol takımı adları listesine sahip olduğumuzu varsayalım:

Diyelim ki her takım adından son karakteri kaldırmak istiyoruz.

Bunun için aşağıdaki makroyu oluşturabiliriz:

 Sub RemoveLastChar()

    Dim i As Integer
    Dim myString As String

    For i = 2 To 11
    myString = Range(" A " & i)
    Range(" B " & i) = Left(myString, Len(myString) - 1)
    Next i
    
End Sub

Bu makroyu çalıştırdığımızda aşağıdaki çıktıyı alıyoruz:

VBA dizeden son karakteri kaldırır

B sütunu, A sütunundaki dizelerin her birini, son karakteri kaldırılmış olarak görüntüler.

Bunun yerine bir dizedeki son n karakteri kaldırmak istiyorsanız, Left yöntemindeki 1’i farklı bir sayıyla değiştirmeniz yeterlidir.

Örneğin bir stringin son 2 karakterini kaldırmak için aşağıdaki makroyu oluşturabiliriz:

 Sub RemoveLastTwoChar()

    Dim i As Integer
    Dim myString As String

    For i = 2 To 11
    myString = Range(" A " & i)
    Range(" B " & i) = Left(myString, Len(myString) - 2)
    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, son iki karakter kaldırılmış olarak görüntüler.

Not : VBA Left 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?

Yorum ekle

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