YAN TARAFI 0 OLAN SATIRLARI SİLMEK

Katılım
30 Mart 2005
Mesajlar
755
Excel Vers. ve Dili
2016 EN
YAN TARAFI 0 OLAN SATIRLARI SÝLMEK

YAN TARAFI 0 OLAN SATIRLARI SİLMEK İÇİN HENGİ MAKROYU KULLANMALIYIM? Ã?RNEK EKTEDİR.
TEÞEKKÜRLER.
 
Katılım
3 Mart 2005
Mesajlar
609
Excel Vers. ve Dili
2010 Excel-Türkçe
Altın Üyelik Bitiş Tarihi
21/03/2019
Private Sub CommandButton1_Click()
‘sil butonu işleri
Sheets("Sayfa1").Select

For i = 16 to 200
Cells(i,1).select
Activecell.value=0 then
Selection.EntireRow.Delete
Else
End If
Next i
End Sub
 
Katılım
30 Mart 2005
Mesajlar
755
Excel Vers. ve Dili
2016 EN
â??sil butonu işleri ve Activecell.value=0 then
satırlarını hata olarak gösteriyor.
 
Katılım
3 Mart 2005
Mesajlar
609
Excel Vers. ve Dili
2010 Excel-Türkçe
Altın Üyelik Bitiş Tarihi
21/03/2019
bu kodu deneyin
Sub Düğme9_Tıklat()
'sil butonu işleri
Sheets("Sayfa1").Select

For i = 16 To 200
Cells(i, 1).Select
If ActiveCell.Value = 0 Then
Selection.EntireRow.Delete
Else
End If
Next i

End Sub
 
Katılım
17 Kasım 2005
Mesajlar
73
Merhaba
Hatırlatma :
sayın Metinözlü silme işlemi bu şekildede çalışır ama bier sakıncası var

2 satır da alt alta 0 varsa birisini silmiyor daha önce benim başıma geldi

silme işlemini alttan başa doğru yaptırınız.

İyi çalışmalar
 

zafer

Super Moderator
Yönetici
Katılım
8 Mart 2005
Mesajlar
3,288
Excel Vers. ve Dili
OFFICE 2003 TÜRKÇE
OFFICE 2010 TÜRKÇE
Merhaba

Kodları denermisiniz

Sub Bossil()
On Error Resume Next
For Each sec In Range("b10:b16")
If sec.Value = 0 Then
k = k + sec.Address & ","
End If
Next sec
k = Mid(k, 1, Len(k) - 1)
Range(k).Select
Selection.EntireRow.Delete
Range("a1").Select
End Sub
 
Katılım
30 Mart 2005
Mesajlar
755
Excel Vers. ve Dili
2016 EN
Sn. Zafer, verdiğiniz kodlardaki hatayı bulamadım ama yine de size de minnettarım. Sn kundakci'nin silme makrosunu kullanıyorum. emeklerinize sağlık. fakat daha hızlı yapabilecek bir ek bilgi olabilir mi? çünkü satır satır seçip çok yavaş bir şekilde siliyor.
teşekkürler...
 

zafer

Super Moderator
Yönetici
Katılım
8 Mart 2005
Mesajlar
3,288
Excel Vers. ve Dili
OFFICE 2003 TÜRKÇE
OFFICE 2010 TÜRKÇE
Merhaba

"Kodlardaki hatayı bulamadım"

on error resume next satırını silin
çalıştırın.

Nerede hata var bildirirmisiniz.


B10 dan b16 kadar (siz istediğiniz aralığı girebilirsiniz) 0 olan hücreleri toplu olarak seçer ve sonrada ait oldukları satırı siler.
 
Katılım
30 Mart 2005
Mesajlar
755
Excel Vers. ve Dili
2016 EN
Range(k).Select
HATALI GÃ?STERİYOR. VE HİÇBİR ÞEY SİLMİYOR.
 

zafer

Super Moderator
Yönetici
Katılım
8 Mart 2005
Mesajlar
3,288
Excel Vers. ve Dili
OFFICE 2003 TÜRKÇE
OFFICE 2010 TÜRKÇE
Merhaba

Silmesi lazım ama anlayamadım.

Sizin ilk gönderdiğiniz tablo üzerinde denedim.Birde siz denermisiniz.
 
Katılım
30 Mart 2005
Mesajlar
755
Excel Vers. ve Dili
2016 EN
BENDE 1 ADET MAKRO VARDI AMA SİZİN BELGEDE 2 MAKRO 1 USERFORM VAR. NEREYE NE EKLEMEDİM?
 
Katılım
30 Mart 2005
Mesajlar
755
Excel Vers. ve Dili
2016 EN
DAHA DOÐRUSU, BEN B10 dan b16 kadar OLAN ARALIÐI B32:B236 OLARAK GENİÞLETMİÞTİM. MAKRODA DA DEÐİÞTİRDİM AMA SANIRIM BU USERFORM VS EKSİKLİÐİNDEN OLMADI.
 

zafer

Super Moderator
Yönetici
Katılım
8 Mart 2005
Mesajlar
3,288
Excel Vers. ve Dili
OFFICE 2003 TÜRKÇE
OFFICE 2010 TÜRKÇE
Merhaba

Butona bastığınızda istediğiniz oldumu.

Bossil makrosu sizin makronuz.

diğer sorulara verdiğim cevaplarıda gönderdiğim tabloya kaydetmişim.
Sizin çalıştıracağınız makronun adı bossil modul1 içinde.
sizinki sadece o
 

zafer

Super Moderator
Yönetici
Katılım
8 Mart 2005
Mesajlar
3,288
Excel Vers. ve Dili
OFFICE 2003 TÜRKÇE
OFFICE 2010 TÜRKÇE
Merhaba

Diğer makroları sildim.inceleyin
 

zafer

Super Moderator
Yönetici
Katılım
8 Mart 2005
Mesajlar
3,288
Excel Vers. ve Dili
OFFICE 2003 TÜRKÇE
OFFICE 2010 TÜRKÇE
Merhaba

Aralığı değiştirdiğiniz için oluyor. Kodlarıda değiştirmeniz lazım.
For Each sec In Range("b32:b236")

Aralığı değiştirdiğiniz de kodlardaki aralığıda değiştirmeniz lazım.

otomatik satır numaralarını alabiliriz.
1 - son silinmesini istediğiniz hücreden sonra 65536 satıra kadar boşmu.
2 - ilk aralık ile son aralık arasında boşluk varmı

bunları bildirirseniz otomatik aralık'ı değişkene aktarabiliriz.
 
Katılım
30 Mart 2005
Mesajlar
755
Excel Vers. ve Dili
2016 EN
İÞTE DEÐİÞTİRDİÐİM BELGE. SON SATIR BOÞ OLMADIÐI İÇİN OLMADI GALİBA.
 

zafer

Super Moderator
Yönetici
Katılım
8 Mart 2005
Mesajlar
3,288
Excel Vers. ve Dili
OFFICE 2003 TÜRKÇE
OFFICE 2010 TÜRKÇE
Merhaba

İlk gönderdiğim makroyu silin.
Aşağıdaki kodları modüle kopyalayıp çalıştırın.

C kolonundaki boş hücreler için yaptım siz
cells(i,3) 'ü istediğiniz kolon numarasına göre değiştirin.
Toplam olan satırı silmiyor.
Hücre aralığını otomatik seçiyor.


Kod:
Sub Bossi6()
son = Cells(65536, 2).End(xlUp).Row - 1
bas = Cells(son, 1).End(xlUp).Offset(1, 0).Row
x = son - bas
For i = son To bas Step -1
If Cells(i, 3).Value = 0 Then Rows(i).Delete
Next
Range("a1").Select
End Sub
 
Üst