• DİKKAT

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

boşsa silme

Katılım
27 Şubat 2008
Mesajlar
307
Excel Vers. ve Dili
Office 2016
Sub bossa_sil()
For sat = 13 To 50
If Cells(sat, 9) = "" Then
Rows(sat).Delete
End If
Next
End Sub

Yukarıdaki kod eğer "I13:I50" arasında boş olan hücre varsa, satırı siliyor.
Ben bu I13:ı50 kısmını inputbox oluşturarak silebilirmiyim.(kendim a1:a50 yazacağımda makroya girmeden açılır kutu gelip oradan girebilirmiyim.)
 
İsteğiniz olabilir mi bilmiyorum ama satır silme işlemini bu belirttiğiniz şekilde yaparsanız arka arkaya iki boşluk olduğunda ikincisini silmez. Düzgün olması için 13'ten 50'ye değil 50'den 13'e doğru işlem yaptırmalısınız:

For sat = 50 to 13 Step -1

şeklinde kullanabilirsiniz.
 
Kod:
Sub Test()
    Dim myRange As Range
    Set myRange = Application.InputBox("Mouse ile aralık seçin...", "Seçim ...", Type:=8)
    
    For i = myRange.Cells(myRange.Cells.Count).Row To 1 Step -1
        If myRange.Cells(i) = "" Then Rows(myRange.Cells(i).Row).Delete
    Next
End Sub

.
 
Teşekkürler elinize sağlık. Ama bir isteğim daha var eğer = boşsa kısmını elle girmem gerekse örneğin "ali" yapacak olsam inputbox ile nasıl yaparım. "" kısmına girilecek veriyi elle gireceğim
 
C++:
Sub Test()
Dim myRange As Range
    Set myRange = Application.InputBox("Mouse ile aralık seçin...", "Seçim ...", Type:=8)
    Silinecek= InputBox1("Silinecek İfadeyi Tanımlayın")
    For i = myRange.Cells(myRange.Cells.Count).Row To 1 Step -1
        If myRange.Cells(i) = Silinecek Then Rows(myRange.Cells(i).Row).Delete
    Next
End Sub
 
Silinecek= InputBox1("Silinecek İfadeyi Tanımlayın")

InputBox1 kısmında sub or defined not found uyarısı veriyor ne eklemem lazım
 
1 karakterini silip, deneyin...

.
 
1 değerini silince uyarı kalktı ama, bu şekilde çalışmıyor.
If myRange.Cells(i) = "Silinecek" Then Rows(myRange.Cells(i).Row).Delete
Şekilde işlem yaptım yine makro çalışmadı.
Ama If myRange.Cells(i) = 12 Then Rows(myRange.Cells(i).Row).Delete
diye yazıyorum işlem yapıyor.
 
Denemiştim ama makroda uyarı vermiyor . fakat şarta uyan verinin satırını silme yapmıyor
 
If myRange.Cells(i) = Silinecek Then Rows(myRange.Cells(i).Row).Delete BENİM GÖNDERMİŞ OLDUĞUM FORMÜL BU ŞEKİLDE

If myRange.Cells(i) > Silinecek Then Rows(myRange.Cells(i).Row).Delete BU ŞEKİLDE FORMÜL ÇALIŞMIYOR SATIRI SİLME İŞLEMİNİ YAPMIYOR AMA

If myRange.Cells(i) < Silinecek Then Rows(myRange.Cells(i).Row).Delete BU ŞEKİLDE SATIR SİLME İŞLEMİNİ YAPIYOR.
 
Bu kod işlevsel olup ihtiyacınızı karşılar.
Kod:
[I13:I50].SpecialCells(4).Delete Shift:=xlUp
 
Geri
Üst