Dizideki Eleman Satırda Geçiyorsa O Kısmı Sil - Microsoft Excel


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.

Veri

Konu ile ilgili örnek bir veri setine aşağıdaki bağlantıdan ulaşabilirsiniz.

satırda geçen veri parçaları veri seti

Kod


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

Kod (Açıklamalı)


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

Etiketler
microsoft excel açıklamalı içerik microsoft excel vba