DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
Altın Üyelik Hakkında Bilgi
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Target.Value = "" Then: Exit Sub
satir = Target.Row
sutun = Target.Column
[COLOR=green]'----- Bu bu kısımdaki kısıtı siz doğrulama yoluyla çözmüşsünüz -----------------
' Eğer doğrulamadan vazgeçmek isterseniz, bunu kullanabilirsiniz -----------
'x = Application.WorksheetFunction.CountIf(Range(Cells(4, sutun), Cells(100, sutun)), Target.Value)
'If x > 1 Then
' MsgBox "Bu kişi; aynı anda; iki farklı yerde olamaz", vbCritical, "Verilerinizi kontrol edin"
' Application.EnableEvents = False
' Target.Value = ""
' Target.Select
' Application.EnableEvents = True
'End If
'--------------------------------------------------------------------------------[/COLOR]
y = Application.WorksheetFunction.CountIf(Range(Cells(satir, 2), Cells(satir, 7)), Target.Value)
If y > 2 Then
MsgBox "Bir kişi, aynı gün, üç nöbet tutamaz", vbCritical, "Fazla Nöbet"
Application.EnableEvents = False
Target.Value = ""
Target.Select
Application.EnableEvents = True
End If
If Target.Offset(0, -1).Value = Target.Value Or Target.Offset(0, 1).Value = Target.Value Then
MsgBox "Bir kişi, üstüste iki defa nöbet tutamaz", vbCritical, "Üst Üste Nöbet"
Application.EnableEvents = False
Target.Value = ""
Target.Select
Application.EnableEvents = True
End If
End Sub
y = Application.WorksheetFunction.CountIf(Range(Cells(satir, 2), Cells(satir, 7)), Target.Value)
y = Application.WorksheetFunction.CountIf(Range(Cells(4, 2), Cells(satir+50, 7)), Target.Value)