Mükerrer Kayt hk.

Katılım
15 Eylül 2006
Mesajlar
166
Excel Vers. ve Dili
2003 sp2 TR
__________________
Merhaba;

Site içerisinde mükerrer kayıtla ilgili güzel verilere mevcut, isteğimi karşılamadığından konu hakkında bilginize ihtiyacım var.

Örn.

Aynı Sütüna eklenen aynı ikinci verinin kalması, birinci eklenen verinin silinmesi.

Sütün A da bulunan 47.Satırda Ali var ise 89.Satıra Ali girdiğimde 47.Satır da Sütun A dan Sütun G ye kadarki verilerin silinmesi, veya 47.Satırın komple silinmesi ile aşağıdaki verilerin yukarı kayması.

Yukarıda belirtilen konu hakkında yardımlarınızı rica eder, iyi akşamlar dilerim.

--------------------------------------------------------------------------
Dosyanın en son güncel hali aşağıdaki ektedir. Umarım İşinize Yarar.

Saygılarımla;
Caner SARIGÜL
 
Son düzenleme:
Katılım
14 Şubat 2006
Mesajlar
3,426
Excel Vers. ve Dili
(Excel 2016 - İngilizce)
Altın Üyelik Bitiş Tarihi
30-11-2022
Aşağıdaki kodları ilgili sayfanın kod bölümüne kopyalayınız.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Intersect(Target, [a:a]) Is Nothing Then Exit Sub
say = WorksheetFunction.CountIf(Range("a2:a" & Target.Row - 1), Target)
veri = Target
If say > 0 Then
If (MsgBox("Bu Kayıt Mevcut." & Chr(13) & Chr(13) & "İlk Kaydı Silmek İstiyormusunuz?", vbCritical + vbDefaultButton2 + vbYesNo, "UYARI")) = vbYes Then
For Each alan In Range("a2:a" & Target.Row - 1)
If alan.Value = veri Then
alan.Select
Selection.EntireRow.Delete
End If
Next
End If
End If
End Sub
 
Katılım
15 Eylül 2006
Mesajlar
166
Excel Vers. ve Dili
2003 sp2 TR
__________________
Sayın Ripek


Belirttiğiniz kodu kullanamadım.

Talebimin daha net anlaşılması için aşağıdaki Ek'li örnek dosyayı bilginize sunarım.
Bu ekli dosya üzerinde gerekli uygulamayı yapabilirsek daha net anlayacağıma eminim.

Kaytlar da toplu değişiklikler olacağından, onay kutusu veya uyarı vermesine gerek yok, zaman kaybına neden olabilir, bilginize sunarım.


Saygılarımla,
Caner SARIGÜL
 
Son düzenleme:
Katılım
14 Şubat 2006
Mesajlar
3,426
Excel Vers. ve Dili
(Excel 2016 - İngilizce)
Altın Üyelik Bitiş Tarihi
30-11-2022
Ekteki dosyanızı inceleyiniz.

A kolonuna herhangi bir bilgi girdiğinizde otomatik olarak ilk kaydı siler.
 
Katılım
15 Eylül 2006
Mesajlar
166
Excel Vers. ve Dili
2003 sp2 TR
__________________
Sayın Ripek,

Verilerde toplu değişiklik yapınca bunu algılamıyor.

Örn. Veriler Kopyalanmış ve yapıştırıldığında proğram geriye dönük silme gerçekleştirmiyor.

1 bilgi bilgi bilgi bilgi Kopya edip 'A' yapıştırdığımda silme gerçekleşmedi.
1 bilgi bilgi bilgi bilgi
1 bilgi bilgi bilgi bilgi
1 bilgi bilgi bilgi bilgi
2 bilgi bilgi bilgi bigi
2 bilgi bilgi bilgi bigi
2 bilgi bilgi bilgi bigi
 
Son düzenleme:
Katılım
15 Eylül 2006
Mesajlar
166
Excel Vers. ve Dili
2003 sp2 TR
__________________
Kopyalama Hatası.

Sayın Ripek,

Tüm değişik kopyalama yöntemlerini denedim.

Kayıtlar tek tek girince sistem çalışmakta fakat toplu güncellemelerde proğram yanıt vermemkte. Bilginize sunarım.


Saygılarımla,
Caner SARIGÜL
 
Katılım
14 Şubat 2006
Mesajlar
3,426
Excel Vers. ve Dili
(Excel 2016 - İngilizce)
Altın Üyelik Bitiş Tarihi
30-11-2022
Pardon.Ben sorunuzu A kolonuna veri girildikçe ilk kayıtların silinmesi olarak anlamıştım.Toplu güncelleme için bir sorum olacak.

Mükerrer kayıt 2'den fazla olanlar var mı? Eğer var ise sadece son kayıt mı kalacak?Yoksa sadece ilk kayıt mı silinecek?
 
Katılım
15 Eylül 2006
Mesajlar
166
Excel Vers. ve Dili
2003 sp2 TR
__________________
Sn. Ripek,

Güncelemeler çok sık yapılmakta, mükerrer kayıtlar ise enaz 2 en çok 200 civarında olacak ve kopyala yapıştır mantığı ile güncellenecek.
Sadece son kayt kalacak.

Mesala A sütünunda şu bilgiler var
1! 2! 3! '8 '9 '7 '13

kopya aldığım bilgiler
1! 2! '3 4! 5! 1! 6! 2! '6 5! '4 '1 '2 '5 var ise sadece '1 '2 '3 '4 '5 '6 kalacak

Silinecekler 1! 2! 3! 4! 5! 1! 6! 2!

A Sütununda kalacak veriler . 1 2 3 4 5 6 7 8 9 13 Eski kalması gereken ve kopya içerisindeki son satırdaki yeni veriler.


Değişiklikten Sonra silinecekler ! işarati ile kalacaklar ' işareti ile belirtilmiştir.

Saygılarımla,
Caner SARIGÜL
 
Son düzenleme:
Katılım
15 Eylül 2006
Mesajlar
166
Excel Vers. ve Dili
2003 sp2 TR
__________________
Açık örnek dosyam

Forum'da şu veriyle karşılaştım.


Sub sil()
For a = [a65536].End(3).Row To 1 Step -1
If WorksheetFunction.CountIf(Range("a1:a" & a), Cells(a, "a")) > 1 Then Rows(a).Delete
Next
MsgBox "işlem tamamlandı"
End Sub

Buna benzer bir örnek istiyorum fakat burada ilk veri kalmakta en alt veriyi silmektedir.

Bunla ilgili örnek dosyam ekte inceleme şansın olursa yardımcı olacağına eminim.

Saygılarımla;
Caner SARIGÜL
 
Katılım
14 Şubat 2006
Mesajlar
3,426
Excel Vers. ve Dili
(Excel 2016 - İngilizce)
Altın Üyelik Bitiş Tarihi
30-11-2022
Sorunuz hem ilginç, hemde güzel bir soru.

Biraz fantazi olacak ama verilerinizi ters sıralayarak yukarıdaki kodu çalıştırabilirsiniz.Örneğin B kolonunu önce Data>> Sort'tan Destencding ile ters sıralayın.Daha sonra bu makroyu B kolonu olarak düzeltip çalıştırabilirsiniz.
 
Katılım
15 Eylül 2006
Mesajlar
166
Excel Vers. ve Dili
2003 sp2 TR
__________________
Başaramadım, konu hakkında dosya ekleye bilirsen anlayacağıma eminim.
 

veyselemre

Özel Üye
Katılım
9 Mart 2005
Mesajlar
3,614
Excel Vers. ve Dili
Pro Plus 2021
Aşağıdaki kodu deneyin.
Kod:
Sub sil()
son = [a65536].End(3).Row - 1

For x = 4 To son
    If WorksheetFunction.CountIf(Range("a" & x + 1 & ":a" & son), Cells(x, "a")) >= 1 Then Cells(x, "a") = ""
Next

For x = son To 4 Step -1
    If Cells(x, "a") = "" Then Rows(x).Delete
Next


End Sub
 

veyselemre

Özel Üye
Katılım
9 Mart 2005
Mesajlar
3,614
Excel Vers. ve Dili
Pro Plus 2021
Mesaj yanlışlıkla 2.kez gittiğinden mesaj silindi.
 
Katılım
15 Eylül 2006
Mesajlar
166
Excel Vers. ve Dili
2003 sp2 TR
__________________
Harika.....
Sn. Ripek, Veyselemre.

Yapacağım çalışmada işin özü olan formul yardımlarınız sayesinde ortaya çıktı.

Excel'e yeni başlayan biri olarak, bilgisini ve tecrübesini koşulsuz paylaşan sizler'e sonsuz teşekkürler.

Paylaşım Budur, Ortam Budur, Forum Budur.....

Saygılarımla;
Caner SARIGÜL
 
Katılım
15 Eylül 2006
Mesajlar
166
Excel Vers. ve Dili
2003 sp2 TR
__________________
Son güncelemede yaptığım kontrolde hata fark edilmiştir.

Aşağıdaki ekli örnekte problemi göre bilirsiniz, ilginiz için tş.
 
Son düzenleme:

veyselemre

Özel Üye
Katılım
9 Mart 2005
Mesajlar
3,614
Excel Vers. ve Dili
Pro Plus 2021
Kod:
Sub sil()
son = [a65536].End(3).Row - 1

For x = 4 To son
    If WorksheetFunction.CountIf(Range("a" & x + 1 & ":a" & son [B][COLOR=Red]+ 1[/COLOR][/B]), Cells(x, "a")) >= 1 Then Cells(x, "a") = ""
Next

For x = son To 4 Step -1
    If Cells(x, "a") = "" Then Rows(x).Delete
Next

Range("a4:c" & [a65536].End(3).Row).Sort Key1:=Range("A4")
End Sub
 
Son düzenleme:
Katılım
15 Eylül 2006
Mesajlar
166
Excel Vers. ve Dili
2003 sp2 TR
__________________
Sn.Veysel Bey,

Ben sorumu yazarken cevap gelmiş, Harika.
 
Katılım
15 Eylül 2006
Mesajlar
166
Excel Vers. ve Dili
2003 sp2 TR
__________________
Kayan ve Bozulan Formul Hk.

Aşağıdaki ekte iki sayfa yer almakta

Veriler sayfasında problem yok.
Sırala sayfasında veriler sayfasını çalıştırınca formul sırası bozulmakta.

Örnek dosyayı incelerseniz problemi göreceksiniz.

Konu hakkında yardımlarınızı rica ederim.

Saygılarımla;
Caner SARIGÜL
 
Son düzenleme:

veyselemre

Özel Üye
Katılım
9 Mart 2005
Mesajlar
3,614
Excel Vers. ve Dili
Pro Plus 2021
Veriler sayfasında problem yok.
Sırala sayfasında veriler sayfasını çalıştırınca formul sırası bozulmakta.
Bundan doğal bir şey yok sırala sayfasındaki formüller veriler sayfasıyla bağlantılı bu yüzden aynı satırları da sırala sayfasından silmek çözüm olabilir.
Kod:
Sub sil()
son = [a65536].End(3).Row - 1

For x = 4 To son
    If WorksheetFunction.CountIf(Range("a" & x + 1 & ":a" & son + 1), Cells(x, "a")) >= 1 Then Cells(x, "a") = ""
Next

For x = son To 4 Step -1
    If Cells(x, "a") = "" Then Rows(x).Delete: Sheets("sırala").Rows(x - 3).Delete
Next

Range("a4:c" & [a65536].End(3).Row).Sort Key1:=Range("A4")
End Sub
 
Katılım
15 Eylül 2006
Mesajlar
166
Excel Vers. ve Dili
2003 sp2 TR
__________________
Sn.VeyselEmre

İlginiz için teşekkürler.

Saygılarımla;
Caner SARIGÜL
 
Üst