Excellin beni uyarmasını istiyorum bu nasıl mümkün olur.

Katılım
23 Eylül 2006
Mesajlar
57
Excel Vers. ve Dili
2003 türkçe
arkadaşlar benim yardımınızı istediğim konu. bir sütuna yazdığım değerin daha önceden hangi sırada yazılmış olduğunu uyarmasıyla ilgili ancak şöyle bir durum var aynı değeri girmemi kısıtlamamalı yani sadece uyarsın ancak değeri istemem halinde tekrar girebileyim. bu nasıl mümkün olur yardımcı olursanız sevinirim. ilgilenen arkadaşlara şimdiden teşekkür ediyorum.

aşağıya bir resim koydum belki sorunu anlamanızda daha iyi olur diye

 
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 belki size fikir verebilir.

B kolonunda çift kayıt girdiğiniz anda uyarıda bulunup, ilgili satırı seçmektedir.Siz kendinize göre uyarlayabilirsiniz.

Bu kodları sayfanın VBE bölümüne kopyalamanız gerekmektedir.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Intersect(Target, [B8:B500]) Is Nothing Then Exit Sub
veri = Target
say = WorksheetFunction.CountIf(Range("B8:B" & Target.Row - 1), Target)
If say > 0 Then
MsgBox "Bu Kişinin Daha Önceden Kaydı Var!"
'Target.Select
'Target = ""
For Each alan In [B8:B500]
If alan = veri Then alan.Select
Next
End If
End Sub
 
Katılım
23 Eylül 2006
Mesajlar
57
Excel Vers. ve Dili
2003 türkçe
Aşağıdaki kodlar belki size fikir verebilir.

B kolonunda çift kayıt girdiğiniz anda uyarıda bulunup, ilgili satırı seçmektedir.Siz kendinize göre uyarlayabilirsiniz.

Bu kodları sayfanın VBE bölümüne kopyalamanız gerekmektedir.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Intersect(Target, [B8:B500]) Is Nothing Then Exit Sub
veri = Target
say = WorksheetFunction.CountIf(Range("B8:B" & Target.Row - 1), Target)
If say > 0 Then
MsgBox "Bu Kişinin Daha Önceden Kaydı Var!"
'Target.Select
'Target = ""
For Each alan In [B8:B500]
If alan = veri Then alan.Select
Next
End If
End Sub

Sn. Ripek ilginiz için teşekkür ederim. ancak nasıl yapıldığı hakkında bilgi verebilirmisin VBE dediğiniz Visual Bacic Düzenleyici değil mi buraya kopyalayıp yapıştırdım. b8 ile b500 hücresi arasında rakam da denedim yazı da ancak olmadı açıklayabilirseniz sevinirim teşekkürler
 
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
Visual Basic Düzenleyicisini (VBE) açtığınızda sağdaki ekrandan bu kodları kullanacağınız sayfanın ismini çift tıklayınız.Sonra solda açılan boş alana bu kodları yapıştırınız.
 
Katılım
23 Eylül 2006
Mesajlar
57
Excel Vers. ve Dili
2003 türkçe
Visual Basic Düzenleyicisini (VBE) açtığınızda sağdaki ekrandan bu kodları kullanacağınız sayfanın ismini çift tıklayınız.Sonra solda açılan boş alana bu kodları yapıştırınız.
Sayın Ripek;
vermiş olduğunuz kodu girmeyi başardım. kodları girerken hata yapıyormuşum. ancak şöyle bir durum var ki B8 hücresinden sonra hangi değeri girersem gireyim "Bu Kişinin Kaydı Var" iletisi alıyorum bunu düzeltebilirmiyim acaba yada başka bir yolu varmıdır. istediğimişlemi yapmak için
 
Katılım
14 Şubat 2006
Mesajlar
3,426
Excel Vers. ve Dili
(Excel 2016 - İngilizce)
Altın Üyelik Bitiş Tarihi
30-11-2022
Normalde ilk kayıttan farklı bir sayı girdiğinizde herhangi bir uyarı vermeden kabul etmesi gerekiyor.

Burada mutlaka mükerrer ilk kaydın satırını öğrenmek zorundamısınız? Zorunda değilseniz, bana sadece mükerrer olup olmadığını hatırlatsın istiyorsanız daha basit ve kullanışlı bir yöntem söyleyeceğim.
 
Katılım
23 Eylül 2006
Mesajlar
57
Excel Vers. ve Dili
2003 türkçe
Normalde ilk kayıttan farklı bir sayı girdiğinizde herhangi bir uyarı vermeden kabul etmesi gerekiyor.

Burada mutlaka mükerrer ilk kaydın satırını öğrenmek zorundamısınız? Zorunda değilseniz, bana sadece mükerrer olup olmadığını hatırlatsın istiyorsanız daha basit ve kullanışlı bir yöntem söyleyeceğim.

Sn.Ripek; o kadar da önemli değil Ctrl+f yaparak ilk kayıdı bulabilirim. Zaten bu yöntem de göstermiyor hangi satırda yazıldığını, önemli olan beni uyarması.
 
Katılım
14 Şubat 2006
Mesajlar
3,426
Excel Vers. ve Dili
(Excel 2016 - İngilizce)
Altın Üyelik Bitiş Tarihi
30-11-2022
Eğer ilgili satırı görmek istemiyorsanız Veri Doğrulama ile bunu yapabilirsiniz.

Aşağıdaki linteki konunun sonunda bununla ilgili bir çalışma var.

http://www.excel.web.tr/showthread.php?t=2830

Yok eğer illaki mükerrer satırları görmek isterseniz verdiğim kodların yerine aşağıdakileri kopyalayın.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Intersect(Target, [B8:B500]) Is Nothing Then Exit Sub
veri = Target
For Each alan In Range("B8:B" & Target.Row - 1)
If alan = veri Then
alan.Select
MsgBox "Bu Kişinin Daha Önceden Kaydı Var!"
Target.Offset(1, 0).Select
End If
Next
End Sub
 
Katılım
23 Eylül 2006
Mesajlar
57
Excel Vers. ve Dili
2003 türkçe
Eğer ilgili satırı görmek istemiyorsanız Veri Doğrulama ile bunu yapabilirsiniz.

Aşağıdaki linteki konunun sonunda bununla ilgili bir çalışma var.

http://www.excel.web.tr/showthread.php?t=2830

Sayın Ripek;
Doğrulama yöntemi ile yaptığım zaman aynı değeri tekrar giremiyorum ancak benim isteğime bağlı olarak aynı değeri girebilmem de önemli sadece beni uyarmasını istiyorum. size yük olduğum için üzgünüm ancak bu sorumun cevabı benim için önemli teşekkür ederim.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,591
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Sn. ripek 'in size sunduğu kodu biraz değiştirerek ekteki örnek dosyayı hazırladım. Umarım işinize yarar.
 
Katılım
14 Şubat 2006
Mesajlar
3,426
Excel Vers. ve Dili
(Excel 2016 - İngilizce)
Altın Üyelik Bitiş Tarihi
30-11-2022
Sn. 007hasanayik

Veri Doğrulama ekranında ekli resimdeki düzenlemeyi yaparsanız sanırım istediğiniz olacaktır.
 
Son düzenleme:
Katılım
23 Eylül 2006
Mesajlar
57
Excel Vers. ve Dili
2003 türkçe
Selamlar,

Sn. ripek 'in size sunduğu kodu biraz değiştirerek ekteki örnek dosyayı hazırladım. Umarım işinize yarar.

Sayın Cost_Control;
Tam anlamıyla istediğim sizin önerdiğiniz yöntemdi çabanız ve paylaşımınız için çok teşekkür ederim.

Sn. 007hasanayik

Veri Doğrulama ekranında ekli resimdeki düzenlemeyi yaparsanız sanırım istediğiniz olacaktır.
Sayın Ripek;
Bıkmadan usanmadan dün geceden beri benim sorunumla ilgilendiğiniz için özellikle teşekkür etmek istedim. emeğiniz için sağolun.
 
Katılım
26 Ekim 2006
Mesajlar
77
Excel Vers. ve Dili
2003 TR
Koşullu biçimlendirmede Eğersay kullan

007hasanayik arkadaşım;
Buda başka bir yol
ben en kolay yolla bunu koşullu biçimlendirmeye eğersay komutu girerek yaptım bunu deneyebilirsin. Eğersay komutu ile saydırırsın değeri 1 den büyük ise sana farklı renk veye biçimle gösterir. Eğersay komutu giremezsen dosya örneği göndermenle yapabilirim.

Eğersay ve koşullu biçimlendirme yaparsan aynı girdiğin değerleri gösterir ama giriş yapmanı engellemez. sadece işaretlemiş olursun.

Örnek olarak bir dosya gönderiyorum sana inşallah işini görür..
 
Son düzenleme:
Katılım
23 Eylül 2006
Mesajlar
57
Excel Vers. ve Dili
2003 türkçe
007hasanayik arkadaşım;
Buda başka bir yol
ben en kolay yolla bunu koşullu biçimlendirmeye eğersay komutu girerek yaptım bunu deneyebilirsin. Eğersay komutu ile saydırırsın değeri 1 den büyük ise sana farklı renk veye biçimle gösterir. Eğersay komutu giremezsen dosya örneği göndermenle yapabilirim.

Eğersay ve koşullu biçimlendirme yaparsan aynı girdiğin değerleri gösterir ama giriş yapmanı engellemez. sadece işaretlemiş olursun.

Örnek olarak bir dosya gönderiyorum sana inşallah işini görür..
forum üzerinden dosya nasıl eklenir bilmiyorum ancak şöyle birşey yapabilirim rapidle gönderebilirim yada mümkünse sen formülü gönderebilirmisin

Selamlar,

Sn. ripek 'in size sunduğu kodu biraz değiştirerek ekteki örnek dosyayı hazırladım. Umarım işinize yarar.
Adı Soyadı ve Seri Numarası olarak bulunan iki sütuna yazmam gerekli bu makroyu birinde şahısların isimleri ve soyadları, birinde de ise seri numarası yazıyor her iki sütundaki değerleri de araştırmasını istiyorum. yani yazdığım bir ad soyadı tekrar yazınca uyarmasını veya yazdığım bir seri numarasını tekrar yazınca uyarmasını istiyorum. (aynı seri numarası olması halinde isimlerin farklı yada aynı olması önemli değil, İsimlerin aynı olması halinde seri numaralaranının aynı yada farklı olması önemli değil) bu şekilde yapmak isteyince vermiş olduğun makroyu alt alta iki kere giriyorum ancak en altta makronun son satırında bulunan End If: End Sub hata uyarısı veriyor bunu ne ile değiştirmem lazım yada makroyu nasıl düzenlemem gerekli Ad soyad J3:J65536 arası seri numarası ise Q3:Q65536 arası ilginize teşekkürler
 
Katılım
23 Eylül 2006
Mesajlar
57
Excel Vers. ve Dili
2003 türkçe
dosyayı ekte gnöderiyorum dosya üzerinde hangi sütunlardaki verilerin denetlenmesini istediğimi belirttim teşekkürler
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,591
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Son eklediğiniz dosyaya göre aşağıdaki kodu kullanabilirsiniz.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    On Error Resume Next
    If Intersect(Target, [J3:J65536,Q3:Q65536]) Is Nothing Then Exit Sub
    If IsEmpty(Target) Or InStr(1, Target.Address, ":") <> 0 Then Exit Sub
    
    If Target.Column = 10 Then
    SAY = WorksheetFunction.CountIf([J3:J65536], Target)
    If SAY > 1 Then
    For Each ALAN In Range("J3:J" & [J65536].End(3).Row)
    If ALAN = Target Then
    If ADRES = "" Then
    ADRES = ALAN.Address(False, False)
    Else: ADRES = ADRES & " - " & ALAN.Address(False, False)
    End If: End If: Next
    GoTo UYARI
    End If: End If
    
    If Target.Column = 17 Then
    SAY = WorksheetFunction.CountIf([Q3:Q65536], Target)
    If SAY > 1 Then
    For Each ALAN In Range("Q3:Q" & [Q65536].End(3).Row)
    If ALAN = Target Then
    If ADRES = "" Then
    ADRES = ALAN.Address(False, False)
    Else: ADRES = ADRES & " - " & ALAN.Address(False, False)
    End If: End If: Next

UYARI: ONAY = MsgBox("Bu Kay&#305;t Daha &#214;nceden A&#351;a&#287;&#305;daki H&#252;crelerde Girilmi&#351;tir !" & Chr(10) & Chr(10) & ADRES & Chr(10) & Chr(10) & "&#304;&#351;leme Devam Etmek &#304;stiyor musunuz?", vbYesNo + vbCritical, "D&#304;KKAT !")
    If ONAY = vbNo Then
    Target = ""
    Target.Select
    Exit Sub: End If
    Target.Offset(1, 0).Select
    End If: End If
End Sub
 
Katılım
23 Eylül 2006
Mesajlar
57
Excel Vers. ve Dili
2003 türkçe
Selamlar,

Son eklediğiniz dosyaya göre aşağıdaki kodu kullanabilirsiniz.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    On Error Resume Next
    If Intersect(Target, [J3:J65536,Q3:Q65536]) Is Nothing Then Exit Sub
    If IsEmpty(Target) Or InStr(1, Target.Address, ":") <> 0 Then Exit Sub
    
    If Target.Column = 10 Then
    SAY = WorksheetFunction.CountIf([J3:J65536], Target)
    If SAY > 1 Then
    For Each ALAN In Range("J3:J" & [J65536].End(3).Row)
    If ALAN = Target Then
    If ADRES = "" Then
    ADRES = ALAN.Address(False, False)
    Else: ADRES = ADRES & " - " & ALAN.Address(False, False)
    End If: End If: Next
    GoTo UYARI
    End If: End If
    
    If Target.Column = 17 Then
    SAY = WorksheetFunction.CountIf([Q3:Q65536], Target)
    If SAY > 1 Then
    For Each ALAN In Range("Q3:Q" & [Q65536].End(3).Row)
    If ALAN = Target Then
    If ADRES = "" Then
    ADRES = ALAN.Address(False, False)
    Else: ADRES = ADRES & " - " & ALAN.Address(False, False)
    End If: End If: Next

UYARI: ONAY = MsgBox("Bu Kayıt Daha Önceden Aşağıdaki Hücrelerde Girilmiştir !" & Chr(10) & Chr(10) & ADRES & Chr(10) & Chr(10) & "İşleme Devam Etmek İstiyor musunuz?", vbYesNo + vbCritical, "DİKKAT !")
    If ONAY = vbNo Then
    Target = ""
    Target.Select
    Exit Sub: End If
    Target.Offset(1, 0).Select
    End If: End If
End Sub
Sayın Cost_Control evet tam istediğim gibi oldu emeğinize teşekkür ederim. yüreğinize sağlık. iyi günler
 
Katılım
26 Ekim 2006
Mesajlar
77
Excel Vers. ve Dili
2003 TR
Koşullu biçimlendirme

gönderdiğin dosyanın koşullu biçimlendirmeyle biçimlenmiş halide burada arkadaşım.
 
Son düzenleme:
Üst