• DİKKAT

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

Satır Sil Makrosunda Düzeltme

Katılım
25 Ağustos 2012
Mesajlar
562
Excel Vers. ve Dili
Office 2003
Ekli dosyada açıklamaya çalıştım. Bir çalışma sayfam var burada satır ekle ve satır sil makroları mevcut. Ben ilk 10 satırın kesinlikle silinmesini istemiyorum. Satır sil butonuna bastığım zaman 11 ve 11 den sonra ne kadar boş satır varsa silsin istiyorum. Satır ekle butonuna bastığım zaman 10 uncu satırı en alta fakat boş olarak içerisindeki veri doğrulama vs toplam formülleri dahil eklemek istiyorum.
örneğin 10 satırı boşaltıp satır sil dediğimde 10 satırıda siliyor oysaki 10 satır boş bile olsa silmesini istemiyorum. 10 satır boş ve bilgi yoksa satır ekle dediğim zaman 9 satırı çoğaltıyor. Umarım istediğimi anlatabildim.
 

Ekli dosyalar

Son düzenleme:
Hocam kodları denermisiniz.
Silmme işlemi tüm boş satırları tek tıklamada yapar
Ekleme işlemi her tıklamada 1 satır ekler ancak a sütununa veri girilmez ise ekleme olmaz
Yani son dolu satırın altına (10. satırı) kopyalar.

Kod:
Sub Boş_Satır_Sil()
Dim MSTF As Long
For MSTF = Cells(Rows.Count, "A").End(xlUp).Row To 11 Step -1
If Cells(MSTF, "A") = Empty Then Rows(MSTF).Delete
Next
MsgBox "Satır silme İşlemi Tamamlandı.", vbInformation, "Mustafa MUTLU"
End Sub
Sub Boş_Satır_Ekle()
Dim MSTF As Long
Dim MM, MM1
MSTF = Sheets("Sayfa1").Range("A65536").End(3).Row + 1
Rows("10:10").Select
Selection.Copy
MM = "a" & MSTF
MM1 = MM & ":" & "s" & MSTF
 Range(MM).Select
 ActiveSheet.Paste
Range(MM1).ClearContents
Cells(MSTF, "R") = "=SUM(RC[-11]:RC[-1])"
Range("a10").Select
MsgBox "Satır Ekleme işlemi Tamamlandı.", vbInformation, "Mustafa MUTLU"
End Sub
 
Hocam saygılar hürmetler
Hocam hızır gibisiniz imdadıma yetiştiniz
Fakat kodu denedim satır ekleme ve silme yapmıyor
 
Hocam ben denedim de gönderdim kodları.
a sütununu baz alıyor.
Tekrar kontrol edermisiniz.

MSTF = Sheets("Sayfa1").Range("A65536").End(3).Row + 1

Bu kodu

MSTF = Range("A65536").End(3).Row + 1

Olarak değiştirin. Sayfa isminden dolayı hata verebilir..
 
Son düzenleme:
Hocam sizin dosyanızda denedim.

Kod:
Private Sub CommandButton5_Click() 'SATIR EKLE
Dim MSTF As Long
Dim MM, MM1
MSTF = Range("A65536").End(3).Row + 1
Rows("10:10").Select
Selection.Copy
MM = "a" & MSTF
MM1 = MM & ":" & "s" & MSTF
 Range(MM).Select
 ActiveSheet.Paste
Range(MM1).ClearContents
Cells(MSTF, "R") = "=SUM(RC[-11]:RC[-1])"
Range("a10").Select
MsgBox "Satır Ekleme işlemi Tamamlandı.", vbInformation, "Mustafa MUTLU"
End Sub

Private Sub CommandButton6_Click() 'SATIR SİL
Dim MSTF As Long
For MSTF = 11 To Range("A65536").End(3).Row + 1
If Cells(MSTF, "A") = Empty Then Rows(MSTF).Delete
Next
MsgBox "Satır silme İşlemi Tamamlandı.", vbInformation, "Mustafa MUTLU"
End Sub
 
Mustafa hocam teşekkür ederim. Deneyip dönüş yapacağım
Az önceki kodu denediğimde ekleme işini güzel sorunsuz yapıyor.
Benim istediğim silerkende ne kadar boş varsa silsin
saygılarımla
 
Hocam sizin dosyanızda denedim.

Kod:
Private Sub CommandButton5_Click() 'SATIR EKLE
Dim MSTF As Long
Dim MM, MM1
MSTF = Range("A65536").End(3).Row + 1
Rows("10:10").Select
Selection.Copy
MM = "a" & MSTF
MM1 = MM & ":" & "s" & MSTF
 Range(MM).Select
 ActiveSheet.Paste
Range(MM1).ClearContents
Cells(MSTF, "R") = "=SUM(RC[-11]:RC[-1])"
Range("a10").Select
MsgBox "Satır Ekleme işlemi Tamamlandı.", vbInformation, "Mustafa MUTLU"
End Sub

Private Sub CommandButton6_Click() 'SATIR SİL
Dim MSTF As Long
For MSTF = 11 To Range("A65536").End(3).Row + 1
If Cells(MSTF, "A") = Empty Then Rows(MSTF).Delete
Next
MsgBox "Satır silme İşlemi Tamamlandı.", vbInformation, "Mustafa MUTLU"
End Sub

Hocam satır ekle dediğim zaman 1 boş satır ekledi. tekrar satır ekle dediğimde tekrar boş bir satır tekrar satır ekle dediğimde boş satır ekleyebilirmi?
 
Hocam satır ekle dediğim zaman 1 boş satır ekledi. tekrar satır ekle dediğimde tekrar boş bir satır tekrar satır ekle dediğimde boş satır ekleyebilirmi?

Satır ekle kodundaki
MSTF = Range("A65536").End(3).Row + 1
bu kodu aşağıdaki gibi değiştirin
MSTF = Range("R65536").End(3).Row + 1

Yani A sütununa göre değilde R sütununa göre satır eklesin.
R sütununda formül olduğu için o sütunu dolu algılayacaktır.
 
Geri
Üst