Kod Düzeltme

Katılım
30 Mart 2008
Mesajlar
280
Excel Vers. ve Dili
Microsoft Office Excel 2003, Türkçe
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
For c = [C65536].End(3).Row To 1 Step -1
If WorksheetFunction.CountIf(Range("C2:C" & c), Cells(c, "C")) > 1 Then Rows(c).ClearContents
Next
End Sub


yukarıdaki kod veri girişinde(kopyala-yapıştırda dahil) gayet güzel çalışmakta. lakin örneğin c sutununda ilgili kodu kullandığımızı düşünürsek, c4 hücresine mükerrer veri girilince a4:ıv4(tüm satırı) arasındaki tüm verileri silmekte. Ama sayfanın çoğu yerinde koruma kullanacağım için kod çalışmıyor. c4 hücresine mükerrer veri girilince c4:k4 arasını silmesi sağlanabilir mi_?
yardımlarınız için şimdiden teşekkürler...
 

leumruk

Uzman
Uzman
Katılım
15 Nisan 2007
Mesajlar
3,469
Excel Vers. ve Dili
Office 2010 & 2013 tr
Kod:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Unprotect 12345
For c = [C65536].End(3).Row To 1 Step -1
If WorksheetFunction.CountIf(Range("C2:C" & c), Cells(c, "C")) > 1 Then Rows(c).ClearContents
Next
Protect 12345
End Sub
Belitilen şifre yerine kendi koruma şifrenizi yazabilirsiniz.
 
Katılım
30 Mart 2008
Mesajlar
280
Excel Vers. ve Dili
Microsoft Office Excel 2003, Türkçe
Ilgili hücrenin tüm satırını silmesini istemiyorum. Girilecek verilerin kullanıldığı formulerin olduğu yerler korumalı. Eğer formüller silinirse veri girmeninde mantığı yok. Yani silinecek aralık tüm sartır değil sınırlamak istiyorum. Kod gayet güzel çalışmakta. Clear için aralık tanımlanması mükemmel olur.
 
Katılım
30 Mart 2008
Mesajlar
280
Excel Vers. ve Dili
Microsoft Office Excel 2003, Türkçe
Lütfen...

Arkadaşalar bu konuda yok mu yardımcı olacak birileri. Programın en önemli ve son ayağı kaldı. Kod girilen veri mükerrer olunca silerken belirli bir aralığı silsin.
Bu kodu sn. Ali hocam bir soruya yanıt olarak vermişti. Kodun veri girişin dışında kopya-yapıştırla girilen mükerrer verileri de bulmasın süper. Lütfen yardım ediniz...
İyi çalışmalar...
 

leumruk

Uzman
Uzman
Katılım
15 Nisan 2007
Mesajlar
3,469
Excel Vers. ve Dili
Office 2010 & 2013 tr
Kod:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
For c = [C65536].End(3).Row To 1 Step -1
If WorksheetFunction.CountIf(Range("C2:C" & c), Cells(c, "C")) > 1 Then
Set a = Cells(c, "c")
Set b = Cells(c, "c").Offset(0, 2)
Range(a, b).ClearContents
End If
Next
End Sub
Selamlar, silme aralığını kendinize göre düzenleyiniz; ya da hangi aralığı silmesini istiyorsanız belirtin, ben düzenleyeyim.
 
Üst