Mükerrer TC

Mikdad

Altın Üye
Katılım
5 Ocak 2006
Mesajlar
333
Excel Vers. ve Dili
365 Türkçe
Altın Üyelik Bitiş Tarihi
26-10-2026
Selamun Aleykum doslarım, aşağıdaki kod ile ben c sutununa mükerrer tc girilmesini önlüyorum.
ama ihtiyacım olan şu ,
B Sutununda kayıt tarihi var. Girilen tc yi kontrol edecek ve B hücresine bakacak tarihi alacak
../..2020 tarihinde listeye eklenmiş tekrar eklemek istermesiniz diye soracak. evet dersek eklemeye müsade edecek.
şimdiden teşekkür ederim.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    On Error Resume Next
    If Intersect(Target, [C:C]) Is Nothing Then Exit Sub
    say = WorksheetFunction.CountIf(Range("C1:C" & Target.Row - 1), Target)
    If say > 0 Then
    MsgBox "BU KAYIT MEVCUTTUR"
    Target.Select
    Target = ""
    End If
    End Sub
 

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,779
Excel Vers. ve Dili
Microsoft 365 Tr-64
Deneyin Lütfen.
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    On Error Resume Next
    If Intersect(Target, [C:C]) Is Nothing Then Exit Sub

    Set TcNo = Range("C1:C" & Target.Row - 1).Find(Target.Value, LookIn:=xlValues)
    
    If Not TcNo Is Nothing Then
        MsgBox "Bu TC NO " & Range("B" & TcNo.Row) & " tarihinde girilmiş": Exit Sub
    End If
End Sub
 

Mikdad

Altın Üye
Katılım
5 Ocak 2006
Mesajlar
333
Excel Vers. ve Dili
365 Türkçe
Altın Üyelik Bitiş Tarihi
26-10-2026
hocam çok güzel sadece tamam yerine kaydı tekrar eklemek istermisiniz diye sorup eğer evet dersek ekleme yapacak hayır dersek eklemeyi engelleyecek şekilde yapabilir miyiz.
 
Katılım
6 Mart 2005
Mesajlar
6,233
Excel Vers. ve Dili
Excel Vers. ve Dili:
Office 2016 TR 64 Bit
Altın Üyelik Bitiş Tarihi
22/12/2022
Aşağıdaki şekilde deneyiniz.
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    On Error Resume Next
    If Intersect(Target, [C:C]) Is Nothing Then Exit Sub
    say = WorksheetFunction.CountIf(Range("C1:C" & Target.Row - 1), Target)
    If say > 0 Then
    son = Cells(100000, "B").End(3).Row
    Bldgr = Target.Value
    Set Hcr = Range("C1:C" & son)
    Set HcrBl = Hcr.Find(what:=Bldgr, LookAt:=xlWhole, MatchCase:=True)
    If Not HcrBl Is Nothing Then
       ms = ms & " " & Range("B" & HcrBl.Row)
    If MsgBox(ms & " TARİHİNDE VAR SİLİNSİN Mİ? ", vbYesNo + vbQuestion, "SORU", 500, 50) = vbNo Then Exit Sub
    Target.Select
    Target = ""
    End If
    End If
    End Sub
 

Mikdad

Altın Üye
Katılım
5 Ocak 2006
Mesajlar
333
Excel Vers. ve Dili
365 Türkçe
Altın Üyelik Bitiş Tarihi
26-10-2026
Hocam Harikasınız. Allah Razı Olsun

Aşağıdaki şekilde deneyiniz.
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    On Error Resume Next
    If Intersect(Target, [C:C]) Is Nothing Then Exit Sub
    say = WorksheetFunction.CountIf(Range("C1:C" & Target.Row - 1), Target)
    If say > 0 Then
    son = Cells(100000, "B").End(3).Row
    Bldgr = Target.Value
    Set Hcr = Range("C1:C" & son)
    Set HcrBl = Hcr.Find(what:=Bldgr, LookAt:=xlWhole, MatchCase:=True)
    If Not HcrBl Is Nothing Then
       ms = ms & " " & Range("B" & HcrBl.Row)
    If MsgBox(ms & " TARİHİNDE VAR SİLİNSİN Mİ? ", vbYesNo + vbQuestion, "SORU", 500, 50) = vbNo Then Exit Sub
    Target.Select
    Target = ""
    End If
    End If
    End Sub
 
Katılım
6 Mart 2005
Mesajlar
6,233
Excel Vers. ve Dili
Excel Vers. ve Dili:
Office 2016 TR 64 Bit
Altın Üyelik Bitiş Tarihi
22/12/2022
Üst