A sütunundaki veriler döngü aracılığıyla satır satır inceleniyor. Dizi içinde bir döngü çalıştırılıyor ve dizideki herhangi bir değer satırda geçiyorsa satırdaki içeren kısım siliniyor.
Konu ile ilgili örnek bir veri setine aşağıdaki bağlantıdan ulaşabilirsiniz.
satırda geçen veri parçaları veri seti
Option Explicit
Sub EgerAlanDizidekiDegerlerdenHerhangiBiriniIceriyorsaIcerenKismiSil()
Dim i, j As Long
Dim dizi As Variant
dizi = Array("ocak", "kedi", "15", "salı")
Application.ScreenUpdating = False
For i = 1 To Range("A1048576").End(xlUp).Row
For j = LBound(dizi) To UBound(dizi)
Range("A" & i) = Replace(Range("A" & i), dizi(j), "")
Next
Next
Application.ScreenUpdating = True
End Sub
Option Explicit
Sub EgerAlanDizidekiDegerlerdenHerhangiBiriniIceriyorsaIcerenKismiSil()
'--------------------------------------------------
'Döngü için kullanılacak değişkenleri tanımladık.
'--------------------------------------------------
Dim i, j As Long
'--------------------------------------------------
'Array için dizi adında değişken tanımladık.
'--------------------------------------------------
Dim dizi As Variant
'--------------------------------------------------
'Silinecek verileri dizi olarak belirledik.
'--------------------------------------------------
dizi = Array("ocak", "kedi", "15", "salı")
'--------------------------------------------------
'Performans artırmak için ekran
'güncellemesini kapattık.
'--------------------------------------------------
Application.ScreenUpdating = False
'--------------------------------------------------
'Verilerimiz A sütununda, bu yüzden
'A sütunu için döngü çalıştırıyoruz.
'--------------------------------------------------
For i = 1 To Range("A1048576").End(xlUp).Row
'--------------------------------------------------
'Her satırda dizideki tüm elemanlar
'için kontrol yapılacak. Bunu da döngü
'ile yapıyoruz.
'--------------------------------------------------
For j = LBound(dizi) To UBound(dizi)
'--------------------------------------------------
'Eğer dizide geçen değerlerden biri, birkaçı
'ya da hepsi satırda da geçiyorsa o bölümleri
'yerine hiçbir şey gelmeyecek şekilde değiştiriyoruz.
'Böylelikle o değeri silmiş gibi oluyoruz.
'--------------------------------------------------
Range("A" & i) = Replace(Range("A" & i), dizi(j), "")
Next
Next
'--------------------------------------------------
'Tüm işlemler bittikten sonra verinin
'son halini görebilmek için ekran
'güncellemesini tekrardan aktifleştiriyoruz.
'--------------------------------------------------
Application.ScreenUpdating = True
End Sub