• DİKKAT

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

gereksiz satırları silmek istiyorum.

Katılım
24 Şubat 2009
Mesajlar
1,077
Excel Vers. ve Dili
2016
Merhaba arkadaşlar; PDF formatında olan bir dosyası Excel'e attım ekli dosyamdaki gibi bir dosya oluşturdu. Bu dosyadan bir numarayı süzmek istiyorum her sayfanın altında bulunan

ADIYAMAN-KAHTA CUMHURİYET BAŞSAVCILIĞI - 04.04.2013 tarih ve 2013/518 sayılı yazı

TİB.F. ~870970186 05.04.2013 11:44:00 Sayfa :16

bu ibareleri silmek istiyorum. Bunu kırmızı ile gösterdim, hızlı bir yöntemi varmı, bu dosyaya bakmayın bunun alt kısımlarını sildim toplamda 30 bin satır yani yaklaşık her 10 satır vaya 20 satırda yada 16 satırda bir bu yazılar var bunu 30 bir satırlık bir listede bir anda nasıl silinir, yardımcı olacak arkadaşlara teşekküler.
 

Ekli dosyalar

Merhaba
Bu kodu dener misiniz_?
Kod:
Option Explicit
Sub sil()
Dim STR As Long
Application.ScreenUpdating = False
For STR = 2 To Cells(Rows.Count, "A").End(xlUp).Row
If Cells(STR, "A") = Empty Then
Range("A" & STR & ":IV" & STR + 4).Delete xlUp
End If: Next
Application.ScreenUpdating = True
End Sub
 
Günaydın Arkadaşlar;
Benim soruma Sayın Asi Kral yukarıdaki kodla cevap vermişti ancak burda ben şunu unutmuşum ki arkadaşım da öyle cevap vermiş;
Bu kodla boş olan hücreden sonra 5 adet satır siliyor, oysaki arada bazen 2 satırlık boşluk var bu zamanda benim 3 adet verimi siliyor.
Sizden isteğim şu şöyle bir şey olabilirmi?
Eğer B veya C satırında veri yoksa bu satırlar silinsin böylece istemediğim satırlar A sütununda olduğu için istenilen veriler kalacaktır. Teşekkürler.
 
Üstadım,

2010 excel de uygulamaya çalıştığım konu;


Mart_2013 A1 stündaki tüm isimler aşağıdaki gibi alt alta dizilmiştir.
(yaklaşık 500 satır)

amm
ist
erz
amm
ist
hkk
usa
hkk

ve böylece 500 satır devam etmektedir.

Bu isimleri Sayfa 2 de çekmek istiyorum fakat aynı isimleri tekrar etmeden almak istiyorum.

yani Sayfa 2 de A1 sütünuna;

amm
ist
erz
hkk
usa

olarak sıralamasını istiyorum.

yardımlarınız için şimdiden teşekkür ederim.
 
Günaydın Arkadaşlar;
Benim soruma Sayın Asi Kral yukarıdaki kodla cevap vermişti ancak burda ben şunu unutmuşum ki arkadaşım da öyle cevap vermiş;
Bu kodla boş olan hücreden sonra 5 adet satır siliyor, oysaki arada bazen 2 satırlık boşluk var bu zamanda benim 3 adet verimi siliyor.
Sizden isteğim şu şöyle bir şey olabilirmi?
Eğer B veya C satırında veri yoksa bu satırlar silinsin böylece istemediğim satırlar A sütununda olduğu için istenilen veriler kalacaktır. Teşekkürler.

Tam olarak istediğinizi örnek dosya üzerinde ayrıntılı anlatırsanız kodu buna göre düzenler gönderirim.
 
Örnek dosya ekler misiniz_?

Sayın Kral; daha önceki kodunuz gayet güzel çalıştı, ama sizin kodunuzla ilk boşluktan itibaren 5 satırı silip aradaki boşluğu kapatıyor, diyelim ki 5 boşluk yok yani 2 boşluk varsa bunları siliyor daha sonra benim 3 adet verimide siliyor.
Bu şöyle yaparsak uygun olacak, eğer B sütunda veri yoksa bu satırlar silinsin
bu şekilde olunca diğer veriler alt alta olacak dosyayıda ekledim. Teşekkürler.
 

Ekli dosyalar

Sayın Kral; daha önceki kodunuz gayet güzel çalıştı, ama sizin kodunuzla ilk boşluktan itibaren 5 satırı silip aradaki boşluğu kapatıyor, diyelim ki 5 boşluk yok yani 2 boşluk varsa bunları siliyor daha sonra benim 3 adet verimide siliyor.
Bu şöyle yaparsak uygun olacak, eğer B sütunda veri yoksa bu satırlar silinsin
bu şekilde olunca diğer veriler alt alta olacak dosyayıda ekledim. Teşekkürler.

Merhaba
Bu kodu dener misiniz_?
Kod:
Option Explicit
Sub sildir()
Dim STR As Long, STR1 As Long, STR2 As Long
Application.ScreenUpdating = False
For STR = [COLOR="Red"]Cells(Rows.Count, "A").End(xlUp).Row[/COLOR] To [COLOR="Blue"]2[/COLOR] Step -1
If Cells(STR, "B") = Empty Then
Rows(STR).Delete
End If
Next
Application.ScreenUpdating = True
End Sub
 
Son düzenleme:
Çok güzel eline sağlık, abi birde belirli bir satır aralığını yaptırabilirmiyiz, mesela Satır 10'dan Satır 15000 arası şeklinde çok önemli değil ama olursa daha iyi olacak, eline sağlık dua ile kal.
 
Çok güzel eline sağlık, abi birde belirli bir satır aralığını yaptırabilirmiyiz, mesela Satır 10'dan Satır 15000 arası şeklinde çok önemli değil ama olursa daha iyi olacak, eline sağlık dua ile kal.

Kodda kırmızıya boyadığım yere büyük olanı maviye boyadığım yere ise küçük olan satırı yazın.
Yani
Kod:
for str=15000 to 10 step-1
şeklinde
 
Merhaba arkadaşlar; Aşağıdaki kodla B Sütununda veri yoksa satırlar siliniyor, bunu B satırında AHMET ismi varma bu satırın silinmesini istiyorum nasıl değişiklik olur.
Kod:
Option Explicit
Sub sildir()
Dim STR As Long, STR1 As Long, STR2 As Long
Application.ScreenUpdating = False
For STR = Cells(Rows.Count, "A").End(xlUp).Row To 2 Step -1
If Cells(STR, "B") = Empty Then [COLOR="Red"]'BOŞ DEĞİL Ahmet olan satırları silecek[/COLOR]
Rows(STR).Delete
End If
Next
Application.ScreenUpdating = True
End Sub
Herkese teşekkürler.
 
Satırları tek hamlede silmek kodlara hız kazandıracaktır.

Kod:
Sub Sil()
    Dim X As Long, Alan As Range
    
    Application.ScreenUpdating = False
    
    For X = 2 To Cells(Rows.Count, "A").End(xlUp).Row
        If UCase(Cells(X, "B")) = "AHMET" Then
            If Alan Is Nothing Then
                Set Alan = Cells(X, "B")
            Else
                Set Alan = Application.Union(Alan, Cells(X, "B"))
            End If
        End If
    Next
    
    If Not Alan Is Nothing Then Alan.EntireRow.Delete
    
    Application.ScreenUpdating = True
    
    MsgBox "İşleminiz tamamlanmıştır.", vbInformation
End Sub
 
Merhabalar Arkadaşlar; Korhan beyin yazmış olduğu kodda B Sütunundaki AHMET satırını siliyor, güzel ama ben burada ismi kendim yazsam da onları silse yani yukarıdaki koda nasıl bir ekleme yapmak lazım
Kod:
a = InputBox("HANGİ İSİMLER SİLİNECEK?", "LÜTFEN DİKKAT")
Böyle bir uyarı kodunu nasıl eklemeliyim. Teşekkürler.
 
Deneyiniz.

Kod:
Sub Sil()
    Dim X As Long, Alan As Range, Veri As String
    
    Veri = Application.InputBox("Lütfen silmek istediğiniz ismi giriniz!", "Silme İşlemi")
    If Veri = "" Or Veri = "False" Then Exit Sub
    
    Veri = UCase(Replace(Replace(Veri, "ı", "I"), "i", "İ"))
    
    Application.ScreenUpdating = False
    
    For X = 2 To Cells(Rows.Count, "A").End(xlUp).Row
        If Veri = UCase(Replace(Replace(Cells(X, "B"), "ı", "I"), "i", "İ")) Then
            If Alan Is Nothing Then
                Set Alan = Cells(X, "B")
            Else
                Set Alan = Application.Union(Alan, Cells(X, "B"))
            End If
        End If
    Next
    
    If Not Alan Is Nothing Then Alan.EntireRow.Delete
    
    Application.ScreenUpdating = True
    
    MsgBox "İşleminiz tamamlanmıştır.", vbInformation
End Sub
 
Geri
Üst