Bir Sütunda Belirli Bir Değer Bulunan Hücreler Hariç Diğer Satırları Silme

Katılım
13 Haziran 2017
Mesajlar
9
Excel Vers. ve Dili
2003
Merhaba
vba-macrolar hakkında çok bir bilgim yok. Daha çok sizlerin paylaşımlarında faydalanarak uyarlamaya çalışıyorum. Ancak bu kısıımda takıldım ve yarına yapmış olduğum çalışmayı teslim etmem gerekiyor. Yarımcı olabilirseniz sevinirim.

Yapmaya çalıştığım c sütunundaki hücrelerde satış, fason, ihracat, bedelsiz, numune gibi değerler var. Ancak ben burada satış hariç diğer bütün değerlerin bulunduğu satırları A:XFD kadar yani satırın tamamını silmek istiyorum. bunu yapabilecek bir kod olabilir mi?
 

AdemCan

Altın Üye
Destek Ekibi
Katılım
1 Eylül 2008
Mesajlar
1,387
Excel Vers. ve Dili
2019 TR
Merhaba, öncelikle Çalışma Kitabının yedeğini alınız!

Kodları modül ya da sayfanın kod bölümüne ekleyiniz

Set sayfa = Sheets("Sayfa1") satırında tırnak içerisinde yazılı olan Sayfa1 yerine silme işlemini yapmak istediğiniz sayfanın adını yazınız ya da Sekme üzerinden kopyalayıp yapıştırınız.

Herhangi bir nesneye makroyu atayıp çalıştırınız.

Not: C1 de başlık olduğu varsayılmıştır.
Kod:
Sub satir_sil()
Dim sayfa As Worksheet, i As Long, son As Long

Set sayfa = Sheets("Sayfa1")
son = sayfa.Cells(Rows.Count, 3).End(3).Row

For i = 2 To son
If Cells(i - 1, 3) = "Satış" And Cells(i, 3) = "" Then Exit For
    If Cells(i, 3) <> "Satış" Then
        sayfa.Cells(i, 3).EntireRow.Delete
        i = i - 1
    End If
Next i

Set sayfa = Nothing
i = 0: son = 0

End Sub
 
Katılım
13 Haziran 2017
Mesajlar
9
Excel Vers. ve Dili
2003
Çok teşekkür ederim, elinize sağlık.
1) burada c sütunu değil de başka sütunlara da uygulamak istediğimde macroda yer alan "3" değerini sütun sayısına göre mi değiştireceğim?
2) satırı etkileyen değer macrodaki -1 midir?
 
Katılım
13 Haziran 2017
Mesajlar
9
Excel Vers. ve Dili
2003
Bir de başka bir sorum olacaktı, mümkünse eğer?
cumartesi ve pazar günlerinin olduğu sütunlarda belirli aralık içindeki sütunları renklendirmek istiyorum. (örneğin haziran ayı içinde cumartesi f sütununa geldi ve f5:f2500 arasını açık griye boyamak istiyorum) malumunuz ay değişince tablodaki cumartesi ve pazar sütunları değişiyor. yani makronun bulup renklendirmesi gerekiyor. tek tek sütun içindeki aralığı seçip renklendirmek yerine bir macro ile mümkün mü? koşullu biçimlendirme ile olmuyor, bu sayfa ana bir sayfadan kopyalama yapıştırma ve arada temizlik işi yapan bir makro ile araç olarak sürekli silinip temizlenen bir sayfadır.
 

AdemCan

Altın Üye
Destek Ekibi
Katılım
1 Eylül 2008
Mesajlar
1,387
Excel Vers. ve Dili
2019 TR
1) burada c sütunu değil de başka sütunlara da uygulamak istediğimde macroda yer alan "3" değerini sütun sayısına göre mi değiştireceğim?
Evet, Cells(i, 3) ifadesindeki 3 sütun numarasıdır. 3 yerine, çift tırnak içerisinde sütun harfini de yazabilirsiniz, Cells(i, "C") gibi.

2) satırı etkileyen değer macrodaki -1 midir?
Satırı etkileyen i değişkenidir. i=i-1 ifadesinin kullanım amacı, satır silme işleminde alttaki satır bir üste kaydığı için döngü ilerlerken arada satır atlamasın diye i değişkenini silme işleminden sonra bir geri aldım.

Son sorunuz için örnek dosya paylaşır mısınız?
 
Üst