• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Satır silme makrosu için koşul

  • Konbuyu başlatan Konbuyu başlatan Gaffur
  • Başlangıç tarihi Başlangıç tarihi
Katılım
14 Şubat 2012
Mesajlar
51
Excel Vers. ve Dili
2003 Türkçe
Elimde 7. satırdan başlayarak A sütunundaki boş satırları silen aşağıdaki makro var. Bunun A sütunundaki Metinde üç harf ve beş rakam ile başlayanlar hariç diğerlerini silmesi için nasıl değiştirmeliyim.
Metin başlangıçları şu şekilde;
OLG 12345
OLG 54236
OLG hep aynı kalıyor rakam 5 haneli ve doğal olarak değişiyor.

Sub Sil()
Dim i As Long
Application.ScreenUpdating = False
For i = Cells(65536, "A").End(xlUp).Row To 7 Step -1
If Cells(i, "A") = "" Then Rows(i).Delete
Next
Application.ScreenUpdating = True
End Sub
 
Elimde 7. satırdan başlayarak A sütunundaki boş satırları silen aşağıdaki makro var. Bunun A sütunundaki Metinde üç harf ve beş rakam ile başlayanlar hariç diğerlerini silmesi için nasıl değiştirmeliyim.
Metin başlangıçları şu şekilde;
OLG 12345
OLG 54236
OLG hep aynı kalıyor rakam 5 haneli ve doğal olarak değişiyor.

Sub Sil()
Dim i As Long
Application.ScreenUpdating = False
For i = Cells(65536, "A").End(xlUp).Row To 7 Step -1
If Cells(i, "A") = "" Then Rows(i).Delete
Next
Application.ScreenUpdating = True
End Sub

Merhaba
Dosya Ekler misiniz_?
İçerisine hangi veriler silinecek gösterirseniz ona göre işlem yapayım.
 
Dosya Ekleme

Hocam ilişikte dosyadan bir kesit gönderiyorum.
 

Ekli dosyalar

Hocam ilişikte dosyadan bir kesit gönderiyorum.

Merhaba
Module'deki kodu bununla değiştirip dener misiniz_?

Kod:
Option Explicit
Sub Uymayanları_Sil_1967()
'Konu       :   Koşula Uymayanları Sil
'Mail       :   m.batu.1967@gmail.com
'Coder By   :   asi_kral_1967
Dim asi As Long
Application.ScreenUpdating = False
For asi = 7 To Cells(Rows.Count, "A").End(xlUp).Row
Cells(asi, "H") = Mid(Cells(asi, "A"), 5, 5)
Next
For asi = Cells(Rows.Count, "A").End(xlUp).Row To 7 Step -1
If WorksheetFunction.SumIf(Cells(asi, "H"), "<>") = 0 Or _
Int(WorksheetFunction.SumIf(Cells(asi, "H"), "<>")) < 9999 Then
Rows(asi).Delete
End If
Next
Range("H:H").ClearContents
Application.ScreenUpdating = True
End Sub
Eki inceleyiniz.
 

Ekli dosyalar

Hocam çok sağolun çok teşekkürler, bu makro çok işime yarayacak.
 
Geri
Üst