• DİKKAT

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

Hücre dolu ise satırı silecek makro nasıl yazılmalı

Katılım
21 Şubat 2016
Mesajlar
24
Excel Vers. ve Dili
Office 365 for Mac Türkçe
Öncelikle şimdiden yardımcı olacak arkadaşlara çok teşekkür ederim.

Benim sorum net muhtemelen cevabı işin ehli üstadlar için de net ve kısa olacaktır.

Ben acemiyim henüz o yüzden hazır kodları uygulamaktan öte bir yetim yok.

Talebim şudur. Sayfada örneğin P sütünunda hücresi dolu olan satırların silinmesi ni sağlayacak bir makro. 10.000 satırlık bir sayfam var ve bu her ay değişiyor. P sütünunda bazı hücrelerde tarihler oluyor. P sütünunda tarih olan hücrelerin bulunduğu satırları silecek bir command button oluşturmak istiyorum.

Yardımınız için şimdiden teşekkürler.
 
Örnek dosyanızı eklerseniz neden olmasın.
 
Üstad yanlış anlamamanızı umarak dosyanın kişisel verilerin korunması kanunu kapsamında özel veriler içerdiğini belirterek ve affınıza sığınarak paylaşılamayacağını belirtmem gerekiyor. Bana lazım olan bilgiyi şöyle özetleyebilir ve basitleştirebilirim.

C sütününda 1:10000 arasındaki hücrelerden içerisinde bir veri olan hücre var ise o hücrelerin bulunduğu satırları silecek bir commandbutton kodu gerekli.

Saygılar
 
"C" sütununa göre aşağıdaki kodu kullanabilirsiniz.

Kod:
Sub Satir_Sil()
    Dim X As Long, Alan As Range
    
    For X = 1 To Cells(Rows.Count, "C").End(3).Row
        If Cells(X, "C") <> "" Then
            If Alan Is Nothing Then
                Set Alan = Cells(X, "C")
            Else
                Set Alan = Union(Alan, Cells(X, "C"))
            End If
        End If
    Next

    If Not Alan Is Nothing Then
        Alan.Delete xlUp
        MsgBox "Dolu satırlar silinmiştir."
    End If
End Sub
 
Üstad eline sağlık, çok teşekkür ederim. Sonunda 3 aydır çalıştığım excel çalışmam kusursuz hale geldi. son sorum bu kodu kullanırken silinmesini istediğimiz alanı tüm çalışma sayfası değil de örneğin 3üncü satırdan başlatmak istersek kod içindeki For X = 1 bölümünü For X = 3 yapacağım değil mi? bu şekilde uyguladığımda çalıştı ama teyidiniz daha iyi olacaktır.
 
Merhaba,

Döngüdeki "X" değeri satırı ifade etmektedir.

Siz 3. satırdan başlatmak isterseniz "For X = 1...." ifadesini belirttiğiniz şekilde değiştirmeniz yeterli olacaktır.
 
Hocam tekrar rahatsız ediyorum çok özür dilerim. Kod dün gayet iyi çalışıyordu diye hatırlıyorum. Ancak şimdi kullandığımda sadece dolu hücreyi siliyor satırdaki diğer veriler aynen kalıyor. Son bir yardım rica etsem
 
İlgili satırı komple silmek istiyorsanız;

Bu satırı;

Kod:
Alan.Delete xlUp

Aşağıdaki gibi değiştirin.

Kod:
Alan.EntireRow.Delete xlUp
 
Geri
Üst