• DİKKAT

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

Boş Satırları Silmek

Katılım
1 Kasım 2005
Mesajlar
207
Excel sayfasında otomatik filtrelerle çalışırken malum mutlaka arada boş satırlar kalıyor. Bunu önlemek için sayfayı buton ile kapatırken boş kalan satırları silmeye yarayacak bir makronuz varmı acaba .?
 
forumda vardı sanırım
aramada "sub bossil()" diye aratın.
ismi biraz farklı yazılabilir ama makronun adı bossil idi.
 
Merhaba,

Aşağıdaki kodları deneyebilirmisiniz?

Kolay gelsin.
[vb:1:273814c22a]
Sub Deneme()
On Error Resume Next
Range("B2:B26").Select
Selection.SpecialCells(xlCellTypeBlanks).EntireRow.Delete
Range("A1").Select
End Sub[/vb:1:273814c22a]
 
Sn supervisor

Sorunuzu tam anlayamadım ama, anladığım şekilde ise aşağıdaki kodu bir modülün içine kopyalarsanız, dosya kapatılırekn A sütunundaki boş hücrelerin satırlarını komple siler;


[vb:1:3551525b8a]Sub auto_close()
Range("A:A").Select
Selection.SpecialCells(xlCellTypeBlanks).Select
Selection.EntireRow.Delete
Range("A1").Select
End Sub[/vb:1:3551525b8a]
 
Bende sorunuzu anlayamadım ama, bir de bunu deneyin;

Sub Bossatirsil()
LastRow = ActiveSheet.UsedRange.Row - 1 + _
ActiveSheet.UsedRange.Rows.Count
Application.ScreenUpdating = False
For k = LastRow To 1 Step -1
If Application.CountA(Rows(k)) = 0 Then Rows(k).Delete
Next k
End Sub
 
teşekkür ederim arkadaşlar yurttas beyin yazdığı kod işe yaradı. problem çözüldü. diğerlerinde şöyle bir hata var sayfayı kapatırken arada kalan boş satırlar varsa siliyor tamam ama eğer boşta kalan satır yoksa hata mesajı veriyor. yani hem satırı hem hücreyi silmeye çalışıyor. ama yurttas beyin ki öyle diil. arada boşta kalan satır varsa siliyor yoksa kodu kullanmıyor.
 
günaydın arkadaşlar.

soruyu biraz değiştiriyorum;
mesela a sütununda murat yazan hücre varsa o satırları silsin.
murat , ali ve ahmet yazanları da silsin.
yani sadece bir isimdeğil birden fazlada olabilir.
çözümlerinizi bekliyorum.
 
yurttas' Alıntı:
Bende sorunuzu anlayamadım ama, bir de bunu deneyin;

Sub Bossatirsil()
LastRow = ActiveSheet.UsedRange.Row - 1 + _
ActiveSheet.UsedRange.Rows.Count
Application.ScreenUpdating = False
For k = LastRow To 1 Step -1
If Application.CountA(Rows(k)) = 0 Then Rows(k).Delete
Next k
End Sub
makrolardan pek anlamam ama,
0 yazan yeri a yada murat yazarak bir deneyin.
 
slm

F sütununda murat , ali ve ahmet yazan hücrelerin bulunduğu satırları silmek istiyorum. aşağıda yazan makroda sütun bölümünü nereye yazayım ve istemedeiğim hücrede geçen isimleri nereye yazayım.
inşallah bu sefer anlatabilmişimdir.


Acemi1' Alıntı:
yurttas' Alıntı:
Bende sorunuzu anlayamadım ama, bir de bunu deneyin;

Sub Bossatirsil()
LastRow = ActiveSheet.UsedRange.Row - 1 + _
ActiveSheet.UsedRange.Rows.Count
Application.ScreenUpdating = False
For k = LastRow To 1 Step -1
If Application.CountA(Rows(k)) = 0 Then Rows(k).Delete
Next k
End Sub
makrolardan pek anlamam ama,
0 yazan yeri a yada murat yazarak bir deneyin.
 
If Application.CountA(Rows(k)) = 0 Then Rows(k).Delete
kodunun altına

If Application.CountA(Rows(k)) = "Ali" Then Rows(k).Delete
If Application.CountA(Rows(k)) = "Murat" Then Rows(k).Delete
If Application.CountA(Rows(k)) = "Ahmet" Then Rows(k).Delete

ekleyerek deneyin.
 
teşekkürler ama f sütunu için bunu nasıl düzenleyebiliriz???


yurttas' Alıntı:
If Application.CountA(Rows(k)) = 0 Then Rows(k).Delete
kodunun altına

If Application.CountA(Rows(k)) = "Ali" Then Rows(k).Delete
If Application.CountA(Rows(k)) = "Murat" Then Rows(k).Delete
If Application.CountA(Rows(k)) = "Ahmet" Then Rows(k).Delete

ekleyerek deneyin.
 
Ortada bir karışıklık var sanırım,
[vb:1:883d14c639]If Application.CountA(Rows(k)) = "Ali" Then Rows(k).Delete[/vb:1:883d14c639]
Komutunun nasıl işleyeceğini bir türlü anlamadım, Application.CountA(Rows(k)) her zaman sayısal sonuç verir, hiç bir zaman "Ali" ye eşit olmaz, bu şekliyle kullanıldığında satırdaki dolu hücre sayısını veriyor. Yani hiçbir zaman "Ali" nin olduğu satırı silmez.
mr.murat' Alıntı:
F sütununda murat , ali ve ahmet yazan hücrelerin bulunduğu satırları silmek istiyorum. aşağıda yazan makroda sütun bölümünü nereye yazayım ve istemedeiğim hücrede geçen isimleri nereye yazayım.
inşallah bu sefer anlatabilmişimdir.
[vb:1:883d14c639]Sub dene()
For x = [f65536].End(3).Row To 1 Step -1
a = 0
huc = Cells(x, "F")
a = InStr(huc, "murat") + InStr(huc, "ahmet") + InStr(huc, "ali")
If a > 0 Then Rows(x).Delete
Next x
End Sub[/vb:1:883d14c639]
 
veyselemre' Alıntı:
Ortada bir karışıklık var sanırım,
Karışıklığın nedeni ben olabilirim.
Soruyu soran arkadaştan özür dilerim.
 
Geri
Üst