Vba: i̇ki karakter arasındaki metin nasıl çıkarılır


İki belirli karakter arasındaki metni çıkarmak için VBA’da aşağıdaki özel işlevi oluşturabilirsiniz:

 Function ExtractBetween(this_text, start_char, end_char)

StartPosition = InStr(this_text, start_char)
EndPosition = InStr(this_text, end_char)

ExtractBetween = Mid(this_text, StartPosition + 1, EndPosition - StartPosition - 1)

End Function

Daha sonra bu işlevi, iki belirli karakter arasındaki metni Excel’de belirli bir karaktere çıkarmak için kullanabilirsiniz.

Aşağıdaki örnekte bu fonksiyonun pratikte nasıl kullanılacağı gösterilmektedir.

Örnek: İki karakter arasındaki metni çıkarmak için VBA’yı kullanma

Bir şirketteki çeşitli ürünlerin kimlik değerlerini ve toplam satışlarını içeren Excel’de aşağıdaki veri setine sahip olduğumuzu varsayalım:

A sütunundaki her hücre için parantez içindeki metni çıkarmak ve sonuçları C sütununa döndürmek için VBA’yı kullanmak istediğimizi varsayalım.

Bunu yapmak için aşağıdaki fonksiyonu oluşturabiliriz:

 Function ExtractBetween(this_text, start_char, end_char)

StartPosition = InStr(this_text, start_char)
EndPosition = InStr(this_text, end_char)

ExtractBetween = Mid(this_text, StartPosition + 1, EndPosition - StartPosition - 1)

End Function

Daha sonra A2 hücresindeki metin için parantez içindeki metni çıkarmak için C2 hücresine aşağıdaki formülü yazabiliriz:

 =ExtractBetween( A2 , "(", ")")

Daha sonra bu formülü tıklayıp C sütunundaki kalan her hücreye sürükleyebiliriz:

VBA, iki belirli karakter arasındaki metni ayıklama

C Sütunu artık A sütununda eşleşen her hücre için parantez içindeki metni görüntülüyor.

Not : Bu formül, belirli başlangıç ve bitiş karakterlerinin konumunu çıkarmak için VBA’daki Instr işlevini kullanarak, ardından bu iki karakter arasındaki tüm metni döndürmek için Mid işlevini kullanarak çalışır.

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