• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Mükerrer TC

  • Konbuyu başlatan Konbuyu başlatan Mikdad
  • Başlangıç tarihi Başlangıç tarihi

Mikdad

Altın Üye
Katılım
5 Ocak 2006
Mesajlar
333
Excel Vers. ve Dili
365 Türkçe
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
 
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
 
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.
 
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
 
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
 
Geri
Üst