Koşullu satır silme.

Katılım
18 Temmuz 2007
Mesajlar
8
Excel Vers. ve Dili
2010 TR
Altın Üyelik Bitiş Tarihi
20.02.2020
Merhaba.
Yardım istediğim örnek dosya ektedir.

Aşağıdaki kodla istediğim koşullarda satırları gizle/göster yapabiliyorum.
Bu satırları "gizlemek" değilde "silmek" istiyorum.

Kodun özeti,
Toplamlar sütunlarının hangi satırda 0 dan büyük rakam varsa,
o satır en üstte ( 8.satırda ) kalmalı, diğer üstündekiler silinmeli.
Sonra altta satır 408 e kadar yine 0 olanlar silinmeli.

Şimdiden teşekkürler.

Gizle/göster kodu:
Sub gizle()
Dim sat As Long, i As Long
Application.ScreenUpdating = False
sat = Cells(Rows.Count, "T").End(xlUp).Row

For i = 7 To sat
If Cells(i, "T").Value <> "" And Cells(i, "T").Value < 1 Then
Rows(i).Hidden = True
End If
If Cells(i, "Z").Value <> "" And Cells(i, "Z").Value >= 1 Then
Rows(i).Hidden = False
End If
If Cells(i, "AB").Value <> "" And Cells(i, "AB").Value >= 1 Then
Rows(i).Hidden = False
End If
If Cells(i, "AH").Value <> "" And Cells(i, "AH").Value >= 1 Then
Rows(i).Hidden = False
End If
Next i
Application.ScreenUpdating = True
Rows("409:415").Hidden = True

End Sub
Sub göster()
Application.ScreenUpdating = False
Rows("1:5000").Hidden = False
Rows("409:415").Hidden = True
Application.ScreenUpdating = True
End Sub
 

Ekli dosyalar

Katılım
18 Temmuz 2007
Mesajlar
8
Excel Vers. ve Dili
2010 TR
Altın Üyelik Bitiş Tarihi
20.02.2020
Yardımlarınızı beklerim.

Konu hala günceldir.
 

Emir Hüseyin Çoban

Destek Ekibi
Destek Ekibi
Katılım
11 Ağustos 2008
Mesajlar
5,891
Excel Vers. ve Dili
Office 2013 Tr - Win10 x64
. . .

Örneğinizde T sütunu boş.

Şu şekilde güncelleyerek deneyiniz.

Kod:
[COLOR="Blue"]For i = sat To 7 Step -1[/COLOR]
If Cells(i, "T").Value <> "" And Cells(i, "T").Value < 1 Then
[COLOR="Blue"]Rows(i).Delete[/COLOR]
End If
. . .
 
Katılım
18 Temmuz 2007
Mesajlar
8
Excel Vers. ve Dili
2010 TR
Altın Üyelik Bitiş Tarihi
20.02.2020
Olmadı...

. . .

Örneğinizde T sütunu boş.

Şu şekilde güncelleyerek deneyiniz.

Kod:
[COLOR="Blue"]For i = sat To 7 Step -1[/COLOR]
If Cells(i, "T").Value <> "" And Cells(i, "T").Value < 1 Then
[COLOR="Blue"]Rows(i).Delete[/COLOR]
End If
. . .
Hüseyin Bey cevabınız için teşekkür ederim.
Kod hata verdi. Zaten benim sütun değil satır silmeye ihtiyacım var.
Galiba eksik anlatmışım.
Ben makro ile gizlenen SATIRLARI silmek istiyorum.
Gizli veya görünür sütunlar var ama onlarda bir işlem olmayacak.
Kodda belirtilen sütunlardaki tüm hücre değerleri 0 ise, o satır silinecek.
0 dan büyük ilk değer 8.satırda görünecek.
Aşağıya doğru 0 dan büyük değeri olan satırlar sıralanacak.
0 ise silinecek.

Umarım anlatabilmişimdir.
Şimdiden teşekkür ederim.
 

Emir Hüseyin Çoban

Destek Ekibi
Destek Ekibi
Katılım
11 Ağustos 2008
Mesajlar
5,891
Excel Vers. ve Dili
Office 2013 Tr - Win10 x64
. . .

Gizli satırları siler.

Kod:
Sub kod()
    Application.ScreenUpdating = False
    For i = Cells(Rows.Count, "A").End(3).Row to 8 step-1 
        If Rows(i).EntireRow.Hidden = True Then Rows(i).Delete
    Next i
    Application.ScreenUpdating = True
    MsgBox "B i t t i "
End Sub
. . .
 
Katılım
18 Temmuz 2007
Mesajlar
8
Excel Vers. ve Dili
2010 TR
Altın Üyelik Bitiş Tarihi
20.02.2020
Kodunuzu uyguladım, hata vermedi ama hiç bir değişiklik de yapmadı.
Siz satırları sildirebildiniz mi?
 

Emir Hüseyin Çoban

Destek Ekibi
Destek Ekibi
Katılım
11 Ağustos 2008
Mesajlar
5,891
Excel Vers. ve Dili
Office 2013 Tr - Win10 x64
. . .

Elle gizlediğim satırları sildi.

. . .
 
Üst