Sil Butonu çalışmıyor.?

Katılım
23 Mart 2006
Mesajlar
303
Excel Vers. ve Dili
Microsoft Office 2003
Excel 2003
Syn Kaçak;

Cevaplanmamış soruları incelerken sorunuzla karşılaştım.Belkide probleminizi halletmiş olabilirsiniz fakat aynı konuya başka arkadaşlarda ihtiyaç duyabileceğini düşünerek açıklamalı bir kod yazmanın doğru olacağını düşündüm.

Öncelikle Kodu yazmadan önce ne yapmak istediğimizi bir düşünelim.Yapmak istediğimiz belli bir veriyi komle kaldırmak yada bir yerden silip başka bir yere kaydetmek olabilir.Sizin sorunuzdan yola çıkarak komple silme işlemini yapmak için ihtiyacımız olanlar.Sileceğiniz kayıtda sürekli olmasını düşündüğünüz ve benzersiz olan kaydın hangisi olacağını seçmemiz gerekir.İsimlerin birbirine benzeyebileceğini düşünerek ,sicil numarası sizin dosyanız için uygun olacaktır.

Önce Sil Butonuna bastığınızda veriyi silmeniz için o veriyi kayıtların içersinden bulmanız gerek.Bunun için gerekli kod (Bir çok alternatif kod var fakat bana göre en basit şekli ile anlatmaya çalışacağım) ;
Sil Düğmesinin Kodları

Sheets("Verinin saklandığı Sayfa adı").Select 'Burda verimiz hangi sayfada kayıtlı ise ismini ona göre değiştirmemiz gerekir.
Columns("a:a").Select 'Verinin kayıtlı olduğu Kolon hangisi ise burda onu yazmalıyız.
Selection.Find(Textbox1, ActiveCell).Activate 'Bir üstdeki satırda Verinin kayıtlı olduğu Kolonu komle seçtirdik ve Bu kodlada Seçilen kolonda Textbox1 verisini Aktif hale getir dedik.Textbox1 verisinin sicil numarsının yazılı olduğu kutucuk olduğunu varsayıyorum.
satır = ActiveCell.Row 'Burdada Aktif olan hücrenin hangi satırda olduğunu buluyor ve bunuda kendi belirlediğimiz bir döngüye eşitliyoruz.Burdaki döngümüzün ismi "satır".
Range("A" & satır & ":I" & satır).Delete 'Satır döngüsünün 2 olduğunu varsayarsak aldığı değere göre bu değişecektir.Aldığı değerin 2 olduğunu varsayarsak A2 den I2 ye kadar olan satırı sil dedik.
Şimdi sizin verileriniz benim gördüğüm kadarı ile farklı sayfalara yerleştirilmiş dolayısı ile bir sonraki sayfada bulunan verilerimizin devamınıda silmek istersek işlem aşağıdaki gibi devam etmeli.
Sheets("Birsonraki Sayfa").Select 'Burda Sayfa adı değişebilir.
Range("A" & satır & ":I" & satır).Delete 'Dikkat ederseniz bir öncekinde olduğu gibi aynı işlemleri tekrarlanmadık.Çünkü Örneğimizde Verilerimiz 2.Satırda olduğu için bir sonraki sayfadada aynı sayfada olması gerektiğinden işlemi kısa yoldan bitirdik.Bundan sonraki sayfalar için aynı devam edecek.

Şimdi Kodumuzu açıklamalar olmadan Tekrar yazalım.
Sub Commandbutton_Click()
Sheets("Verinin saklandığı Sayfa adı").Select
Columns("a:a").Select
Selection.Find(Textbox1, ActiveCell).Activate
satır = ActiveCell.Row
Range("A" & satır & ":I" & satır).Delete
Sheets("Birsonraki Sayfa").Select
Range("A" & satır & ":I" & satır).Delete
End Sub

Umarım herkez için anlatmayı becermişimdir. :hey:

İyi Çalışmalar
Saygılar
 
Katılım
7 Mayıs 2006
Mesajlar
40
Hocam yine bomba gibisin maşallah,
Verdiğin bilgiler için sonsuz teşekkürlerimi sunarım.
Saygılarımla Çekirgen KacaK.
 
Üst