AccessTr.neT

Tam Versiyon: Aynı Satıra Veri Doğrulamadan 1. İsim Girme 2. Yi Giremesin
Şu anda arşiv modunu görüntülemektesiniz. Tam versiyonu görüntülemek için buraya tıklayınız.
Veri sayfasında bulunan verilerden satıra mükerrer kayıt girdirmeme her okuldan bir tanesini girmesini istiyorum. İkinciyi girince uyarı versin bu satıra daha önce bu veriyi girdiniz listeden başka veri giriniz şeklinde. Satır sayısı 4000 olmasını istiyorum? Ek dosya ekledim. Yardımcı olacak arkadaşlara teşekkür ederim.
Şöyle bir macro uyguladım ama her satır için bunu uygulayamadım düzenleme yapılabilir mi? Veya başka bir öneriniz olur mu?


Private Sub Worksheet_Change(ByVal Target As Range)

    Dim aralik As Range

    Set aralik = Range("H2LolC4000")

    say = WorksheetFunction.CountIf(aralik, Target.Value)

    If say > 1 Then

        MsgBox "Bu Okul Daha Önce Seçildi" & Chr(10) & _

        "Lütfen Başka Bir Okul Seçiniz.", vbInformation, "YILMAZ YILDIZ"

        Target.Value = ""

        Exit Sub

    End If
End Sub
(14/12/2018, 11:34)yyhy yazdı: [ -> ]Veri sayfasında bulunan verilerden satıra mükerrer kayıt girdirmeme her okuldan bir tanesini girmesini istiyorum. İkinciyi girince uyarı versin bu satıra daha önce bu veriyi girdiniz listeden başka veri giriniz şeklinde. Satır sayısı 4000 olmasını istiyorum? Ek dosya ekledim. Yardımcı olacak arkadaşlara teşekkür ederim.
Şöyle bir macro uyguladım ama her satır için bunu uygulayamadım düzenleme yapılabilir mi? Veya başka bir öneriniz olur mu?


Private Sub Worksheet_Change(ByVal Target As Range)

    Dim aralik As Range

    Set aralik = Range("H2LolC4000")

    say = WorksheetFunction.CountIf(aralik, Target.Value)

    If say > 1 Then

        MsgBox "Bu Okul Daha Önce Seçildi" & Chr(10) & _

        "Lütfen Başka Bir Okul Seçiniz.", vbInformation, "YILMAZ YILDIZ"

        Target.Value = ""

        Exit Sub

    End If
End Sub

Kodlarınızı aşağıdaki gibi deneyiniz.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
For i = 2 To 4000
   Dim aralik As Range
   Set aralik = Range("H" & i & ":" & "dc" & i)
   say = WorksheetFunction.CountIf(aralik, Target.Value)
   If say > 1 Then
       MsgBox "Bu Okul Daha Önce Seçildi" & Chr(10) & _
       "Lütfen Başka Bir Okul Seçiniz.", vbInformation, "YILMAZ YILDIZ"
       Target.Value = ""
       Exit Sub
   End If
   Next i
End Sub
Sayın Mehmet Emin Alkan ilgi ve alakanız için teşekkür ederim. Emeğinize sağlık.
(16/12/2018, 20:37)yyhy yazdı: [ -> ]Sayın Mehmet Emin Alkan ilgi ve alakanız için teşekkür ederim. Emeğinize sağlık.

Rica ederim. İyi çalışmalar