Makro kullanarak karakterden öncesini silmek
Excelde uzun listeler içerisinde belirlenen karakterden öncesini silmek için makro kullanabilirsiniz. Bazen bu şekilde bir işlem çok işimize yarayabilir.
Örneğin A sütununda bulunan veriler içerisinde virgülden “,” önceki veriyi silmek istersek alttaki gibi bir makro kullanabiliriz.
Sub Sil() Set s = ActiveSheet For i = 1 To 1000 Bak = s.Cells(i, 1) For j = 1 To Len(s.Cells(i, 1)) If Mid(s.Cells(i, 1), j, 1) = "," Then Bak = Right(s.Cells(i, 1), Len(s.Cells(i, 1)) - j) End If Next s.Cells(i, 1) = Bak Next End Sub
Yukarıdaki makro kodunda “s.Cells(i, 1) = Bak” satırını alttaki şekilde değiştirirsek A sütunundaki verileri bozmadan B sütununa istediğimiz şekilde sonuçları yazdırabiliriz.
s.Cells(i, 2) = Bak
Aynı şekilde B sütununa değil de istediğimiz sütuna rakamı değiştirerek yazdırılmasını sağlayabiliyoruz. İstediğiniz karakteri makro içinden değiştirebilirsiniz.
Alttaki şekilde kullanabileceğiniz makro ise istediğiniz karakterden sonrasını tüm çalışma kitabını kontrol ederek siler. Dikkatli kullanmalısınız.
Sub Sagdan() Cells.Replace What:=",*", Replacement:=" " End Sub