• DİKKAT

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

hücre boşsa hücrenin olduğu satırı silme

udentr2002

Altın Üye
Katılım
5 Kasım 2006
Mesajlar
1,503
Excel Vers. ve Dili
iş yerinde Office 365
evde Office 365
merhaba arkadaşlar 12. satırdan sonraki satırlardan eğer "I" stünundaki hücre boşsa o boş olan hücrenin bulunduğu satırın silinmesi için nasıl bir kod yazabilirim??
 
Merhaba.
Aşağıdaki şekilde denermisiniz?
Dolu hücre sayısı A sütunununa göre olduğu farzedilmiştir.:cool:
Kod:
Sub satir_sil()
Range("I13:I" & Cells(65536, "A").End(xlUp).Row).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
MsgBox "Satırlar Silindi"
End Sub
 
sn.udentr2002,

aşağıdaki kodu dener misiniz?

Kod:
Sub bossa_sil()
For sat = 13 To 50
If Cells(sat, 9) = "" Then
Rows(sat).Delete
End If
Next
End Sub

kodu kendinize göre uyarlayabilirsiniz.
 
hocam

ilgin için teşekkürler ama
hata veriyor birde ben 12. satırdan sonra gelen "I" stünlarında eğer I stünunda boş hücre görürse o boş hücrenin olduğu satırın silinmesini kastetmiştim
 
celchug hocam

Çok teşekkür ederim oldu ellerine sağlık
 
Merhaba.
Ekli dosyayı inceleyiniz.
 
sezar hocam

Özür dilerim ben A stünlarını doldurmadan denemiştim kodlarınız çalışıyormuş özrümü kabul edin vakit ayırdığınız için teşekkür ederim
 
Rica ederim.
İyi çalışmalar.:cool:
 
hocam

aynı konuya istinaden bunun tam tersini nasıl yapabiliriz yani hücre dolu ise silmek için aşağıdaki kodunuzun tam tersini yani nasıl yazabiliriz

Range("I13:I" & Cells(50, "A").End(xlUp).Row).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
 
Selamlar,

Aşağıdaki kod A sütunundaki dolu hücrelere ait satırların tamamını siler.

Kod:
Sub DOLU_HÜCRELERİ_SİL()
    [A:A].SpecialCells(xlCellTypeConstants, 23).EntireRow.Delete
End Sub
 
cost hocam

sadece "I" stününunun 13. satırından sonraki dolu hücreleri silmesi için nasıl kod yazabilirim ben böyle bir şey yazdım ama çalışmadı

[I13:I].SpecialCells(xlCellTypeConstants, 23).EntireRow.Delete

not : kod içerisinsdeki 23 neyi ifade etmekte??
 
Range(Range("I13"), Range("I13").End(xlDown)).SpecialCells(xlCellTypeconstants).EntireRow.Delete

ya da

Range("I13:I65536").SpecialCells(xlCellTypeConstants).EntireRow.Delete

specialcells metodu xlCellTypeConstants ya da xlCellTypeFormulas ise bunlardan sonra bir de opsiyonel olarak değer verebilirsiniz.Bunlar

xlErrors ya da 16
xlLogical ya da 4
xlNumbers ya da 1
xlTextValues ya da 2 dir.Ama 23 neyi ifade ediyor ben de merak ettim.Sayın COST_CONTROL bugün aydınlatır İnşallah bizi.
 
Son düzenleme:
Selamlar,

Makro kaydet yöntemi ile aşağıdaki sonuçları elde ettim. Umarım faydası olur.

Kod:
Sub F5_MENÜSÜ_ÖZEL_HÜCRE_SEÇİMLERİ()
    
    [A:A].SpecialCells(xlCellTypeComments).Select
    'Belirlenen aralıktaki açıklama içeren hücreleri seçer.
    
    [A:A].SpecialCells(xlCellTypeConstants, 23).Select
    'Belirlenen aralıktaki tüm sabit değer (sayı ve metin) içeren hücreleri seçer.
    
    [A:A].SpecialCells(xlCellTypeConstants, 1).Select
    'Belirlenen aralıktaki tüm sabit sayısal değer içeren hücreleri seçer.
    
    [A:A].SpecialCells(xlCellTypeConstants, 2).Select
    'Belirlenen aralıktaki tüm sabit metinsel değer içeren hücreleri seçer.
    
    [A:A].SpecialCells(xlCellTypeFormulas, 1).Select
    'Belirlenen aralıktaki formül içeren sayısal hücreleri seçer.
    
    [A:A].SpecialCells(xlCellTypeFormulas, 2).Select
    'Belirlenen aralıktaki formül içeren metinsel hücreleri seçer.
    
    [A:A].SpecialCells(xlCellTypeBlanks).Select
    'Belirlenen aralıktaki tüm boş olan hücreleri seçer.
    
    [A:A].SpecialCells(xlCellTypeConstants, 16).Select
    'Belirlenen aralıktaki sabit hata içeren hücreleri seçer.
    
    [A:A].SpecialCells(xlCellTypeFormulas, 16).Select
    'Belirlenen aralıktaki formül sonucu hata oluşan hücreleri seçer.
    
    [A:A].SpecialCells(xlCellTypeAllValidation).Select
    'Belirlenen aralıktaki veri doğrulama uygulanmış hücreleri seçer.
    
    [A:A].SpecialCells(xlCellTypeLastCell).Select
    'Belirlenen aralıktaki son hücreyi seçer.
    
    [A:A].SpecialCells(xlCellTypeAllFormatConditions).Select
    'Belirlenen aralıktaki koşullu biçimlendirme uygulanmış hücreleri seçer.
    
    [A:A].SpecialCells(xlCellTypeVisible).Select
    'Belirlenen aralıktaki yalnızca görünür hücreleri seçer.
    
    [A:A].CurrentRegion.Select
    'Belirlenen aralıktaki geçerli bölgeyi seçer.
    
    ActiveSheet.DrawingObjects.Select
    'Aktif sayfadaki nesneleri seçer.

End Sub
 
Son düzenleme:
bedersu ve cost hocam

İkinizinde vermiş olduğu bilgiler için çok teşekkür ederim gerçekten açıklayıcı ve bilgilendirici örnekleriniz içinde Allah razı olssun
 
Teşekkür ederim sayın COST_CONTROL.Emeğinize sağlık.
 
aynı konuya istinaden

Hocam aynı konuya benzer olduğu için başka bir başlık altında konu açmak istemedim o yüzden burdan soruyorum tekrar üstteki kodlar işime yaradı ve artı olarak

Sayfada M stünunda 12. satırdan sonra hücre değeri (0) sıfır ise sıfır olan o satırları silip Sayfa2'ye yazması için nasıl bir kod yazabiliriz vede bunu bir buton aracılığı ile değilde o sayfada M stünunda sıfır olan satırları gördüğü an o satırı silip sildiği bilgileri aynı şekilde sayfa2 ye yazması lazım bunun için ne yapabilrim ekli bir dosya gönderiyorum hocam ilgilenen tüm arkadaşlarıma teşekkür ederim
 
Merhaba,
Sıfırı gördüğü an kodları çalıştırmak için sayfa değiştiğinde kodun çalışması gerekir.Bu sizin ne kadar işinizi görür bilemiyorum ama aşağıdaki kod ,sayfa her tıklandığında değeri 0 olan hücreyi buluyor,Sayfa2'ye aktarıyor ve o satırı tamamen siliyor.Sayfanın change özelliği M sütununa 0 yazana kadar o satırı silmez ama 0 yazıldığı an o satırı taşı.Bu yüzden de diğer sütunlara veri giremezsiniz.Yok ben zaten diğer sütunlara veri girmeyeceğim diyorsanız bu kodlar tam size göre.Veri yazacaksanız size tavsiyem bu kodları Enter tuşuna atamanız.Enter'a basınca kodlar çalışır ve 0 olan satır taşınır.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
For Each satır In Range("M12:M65536")
If satır = "0" Then
sıra = WorksheetFunction.CountA(Sheets("Sayfa2").Range("A:A"))
satır.Select
adr = satır.Address
Selection.EntireRow.Copy
Sheets("Sayfa2").Range("a" & sıra + 3).PasteSpecial
Sheets("Sayfa1").Range(adr).EntireRow.Delete
End
End If
Next satır
End Sub
 
hocam

Görüyorum saatlerdir sorduğum soru ile uğraşıyorsunuz gerçkten Allah razı olsun hakkınızı helal edin
konuya gelirsem eğer
ilk olarak kodda sayfaya tıkaldığımda şu hatayı veriyor
application-defineed or object-defineed error
ve aşağıdaki kodu işaretliyor
sıra = WorksheetFunction.CountA(Sheets("Sayfa2").Range("A :A"))
ben hatayı çözemedim

ikincisi ise hocam çok özür dileyerek söylüyorum bu kodu o sayfada her sıfırı gördüğünde aynı işlemi yapan kod yazmamızın imkanı varmı?? tekrar ilgilenirseniz çok sevinirim

Not : ben kodu sayfa1 in kod bölümüne yazdım yazdığım yer doğrumu?
 
A:A arasında boşluk olmasın.
Diğer sorunuzu da anlayamadım.Her sıfırdan kastınınz ne?
 
Geri
Üst