Aynı veriyi bir sütünda tekrar girmemek için uyarı çıkması

Katılım
18 Ocak 2007
Mesajlar
5
Excel Vers. ve Dili
2003 eng
Merhabalar ben bir excel tablosu hazırlıyorum. Bu hazırlamış olduğum tablonun bir sayfasındaki bir sütuna verileri açılır kutu yardımı ile giriyorum. Veri girmiş olduğum bu sütuna aynı veriyi iki defa girmemeliyim. Bu sütuna girilmiş bir veriyi girdiğimde beni uyaran hatta hangi satırda girildiğini söyleyen bir uyarının çıkması mümkün müdür? Şimdiden teşekkürler.
 
Katılım
18 Ocak 2007
Mesajlar
5
Excel Vers. ve Dili
2003 eng
İlginize çok teşekkür ederim. Çok iyi oldu oldu bu uyarıyla birlikte yenilenen kaydın girilmemesine izin vermemek için ne yapılmalı yardımcı olabilirmisiniz? Teşekkürler
 
Son düzenleme:

leumruk

Uzman
Uzman
Katılım
15 Nisan 2007
Mesajlar
3,471
Excel Vers. ve Dili
Office 2010 & 2013 tr
Eklediğim dosyada makro kullanılmıştır. Eğer makrolarınız etkin değilse kodlar çalışmayacaktır. Makroları etkinleştirmek için Araçlar>Makro>Güvenlik bölümünden düşük ya da ortayı seçtikten sonra excel dosyanızı kapatıp yeniden açın.
 

1Al2Ver

Altın Üye
Katılım
5 Kasım 2007
Mesajlar
4,715
Excel Vers. ve Dili
64 Bit TR - Microsoft Office 365 - Win11 Home
Altın Üyelik Bitiş Tarihi
04-01-2026
İlginize çok teşekkür ederim. Dosyayı açtım vermiş olduğunuz değerleri tekrar girdim fakat herhangi bir uyarı alamadım. Rica etsem tekrar gönderebilir misiniz?
Sayın Tecnic Man, dosya çalışıyor, tekrar indirip deneyin,

Teşekkür ederim
 

leumruk

Uzman
Uzman
Katılım
15 Nisan 2007
Mesajlar
3,471
Excel Vers. ve Dili
Office 2010 & 2013 tr
İlginize çok teşekkür ederim. Çok iyi oldu oldu bu uyarıyla birlikte yenilenen kaydın girilmemesine izin vermemek için ne yapılmalı yardımcı olabilirmisiniz? Teşekkürler
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [e:e]) Is Nothing Then Exit Sub
Bul = [e65536].End(3).Row
For i = 1 To Bul - 1
If Cells(i, "e") = Cells(Bul, "e") Then
[COLOR="Red"]Target = ""[/COLOR]
Set Sat = Cells(i, "e")
MsgBox "Bu kayıt " & Sat.Row & ". satırda mevcut; son girdiğiniz veri silinecektir."
End If
Next i
End Sub
Kodu bununla değiştirip deneyin. Kırmızı satır eklendi. Mükerrer kaydı bulur ve son girilen veriyi siler.
 

uzmanamele

Uzman
Uzman
Katılım
26 Eylül 2007
Mesajlar
9,421
Excel Vers. ve Dili
excel 2010
merhaba
koşullu biçimlendirme alternatif olabilir
 

Ekli dosyalar

Katılım
18 Ocak 2007
Mesajlar
5
Excel Vers. ve Dili
2003 eng
İlginize tesekkür ederim özelliklede leumruk adlı üyeye Hepinize iyi akşamlar
 
Katılım
15 Ocak 2011
Mesajlar
64
Excel Vers. ve Dili
2011 türkçe
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [e:e]) Is Nothing Then Exit Sub
Bul = [e65536].End(3).Row
For i = 1 To Bul - 1
If Cells(i, "e") = Cells(Bul, "e") Then
[COLOR="Red"]Target = ""[/COLOR]
Set Sat = Cells(i, "e")
MsgBox "Bu kayıt " & Sat.Row & ". satırda mevcut; son girdiğiniz veri silinecektir."
End If
Next i
End Sub
Kodu bununla değiştirip deneyin. Kırmızı satır eklendi. Mükerrer kaydı bulur ve son girilen veriyi siler.
Sayın leumruk paylaşmış olduğunuz bu kodu sütunlarda gerçekleştirebilir miyiz? Değişikliği yapmaya çalıştım ama beceremedim. :/

Mesela e sütunu yerine e:k sütunları arasında yapılan mükerrer kayıtlarda devreye girsin istiyorum bu kodun. Aynı şekilde o hücre aralığında her satırda bu kod tekrarlanması gerek.

Yardımcı olabilecek herkese açığım arkadaşlar. :)
 

Emir Hüseyin Çoban

Destek Ekibi
Destek Ekibi
Katılım
11 Ağustos 2008
Mesajlar
5,892
Excel Vers. ve Dili
Office 2013 Tr - Win10 x64
Sayın leumruk paylaşmış olduğunuz bu kodu sütunlarda gerçekleştirebilir miyiz? Değişikliği yapmaya çalıştım ama beceremedim. :/
Mesela e sütunu yerine e:k sütunları arasında yapılan mükerrer kayıtlarda devreye girsin istiyorum bu kodun. Aynı şekilde o hücre aralığında her satırda bu kod tekrarlanması gerek.
Yardımcı olabilecek herkese açığım arkadaşlar. :)
. . .

Syn sleeper,
Şu kodları deneyiniz.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next

If Intersect(Target, [E:K]) Is Nothing Then Exit Sub
If Target = "" Then Exit Sub

aranan = Target.Text
Set ara = Range("E:K").Find(aranan, Range("E65530"), xlValues, xlWhole)

If ara.Address <> Target.Address Then
MsgBox "Bu kayıt " & ara.Address(0, 0) & " hücresinde mevcut; son girdiğiniz veri silinecektir.", vbCritical
Target = ""
Else

End If
End Sub
. . .
 
Son düzenleme:
Üst