• DİKKAT

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

Veri Giriş Formatı kısıtlamaları

  • Konbuyu başlatan Konbuyu başlatan Mamut
  • Başlangıç tarihi Başlangıç tarihi
Katılım
10 Mayıs 2011
Mesajlar
9
Excel Vers. ve Dili
2010 TR
Arkadaşlar selam.

Epeyce sütuna sahip bir excel dosyamız var. Bunun bir sütununa girilen değere göre diğer sütunlara veri girilememesi veya boş geçilememesi gibi şartlar oluşturmak istiyoruz. Şartlar şöyle :

1- BA kolonundaki yaş değerleri 5’ten küçükse BC-VK kolonları arasına veri girişi yapılamayacak(aralık pasif hale getirilmeli)

2- BA kolonundaki yaş değerleri 5 ve daha büyükse BC-BD-BE kolonları dolu olmalı (boş bırakılırsa; “Eğitim durumu girilmeli” uyarı mesajı verilmeli )

3- BA kolonundaki yaş değerleri 12 ve daha fazla ise BF kolonundaki çalışma durumu doldurulmalı (boş bırakılırsa; “Çalışma durumu girilmeli” uyarı mesajı verilmeli)

4- BA kolonundaki yaş değerleri 18 ve daha fazla ise BR kolonu dolu olmalı (boş bırakılırsa; “Sürücü belgesi belirtilmeli” uyarı mesajı verilmeli)

Makro bilgim ancak algoritmik seviyede olduğu için içinden çıkamadım. Yardımlarınızı bekliyorum.
 
Kontrol ediniz.

https://upterabit.com/Uj5/HUAP__A_FORMU__-_Koşullu.xlsm

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Target, Range("BC3:VK10000")) Is Nothing Then Exit Sub
    If Cells(Target.Row, "BA").Value < 5 And Target.Value <> "" Then
       MsgBox ("BA hücresi değeri 5 den küçük, giriş yapılamaz.")
       Target.Clear
       Exit Sub
    End If

    If Intersect(Target, Range("BF3:VK10000")) Is Nothing Then Exit Sub
       If Cells(Target.Row, "BA").Value >= 5 And Target.Value <> "" And (Cells(Target.Row, "BC").Value = "" Or Cells(Target.Row, "BD").Value = "" Or Cells(Target.Row, "BE").Value = "") Then
       MsgBox ("BA hücresi değeri 5 yada 5 den büyük. BC-BD-BE hücreleri boş geçilemez. Eğitim durumu girilmeli.")
       Target.Clear
       Cells(Target.Row, "BC").Select
    End If
    
    If Intersect(Target, Range("BG3:VK10000")) Is Nothing Then Exit Sub
       If Cells(Target.Row, "BA").Value >= 12 And Target.Value <> "" And Cells(Target.Row, "BF").Value = "" Then
       MsgBox ("BA hücresi değeri 12 yada 12 den büyük. BF hücreleri boş geçilemez. Çalışma durumu girilmeli.")
       Target.Clear
       Cells(Target.Row, "BF").Select
       Exit Sub
    End If
    
    If Intersect(Target, Range("BS3:VK10000")) Is Nothing Then Exit Sub
       If Cells(Target.Row, "BA").Value >= 18 And Target.Value <> "" And Cells(Target.Row, "BR").Value = "" Then
       MsgBox ("BA hücresi değeri 18 yada 18 den büyük. BR hücreleri boş geçilemez. Sürücü belgesi belirtilmeli.")
       Target.Clear
       Cells(Target.Row, "BR").Select
       Exit Sub
    End If
End Sub
 
aynen öyle hem 5 hem de 12 den büyük olduğu için BC BD BE ve de BF yi kontrol edecek. Yani 12 ve 18 den büyük olma koşullarında 5 ten büyük olma koşulu olan ilk madde de sağlanmalı. 18 den büyükse hem BC BC BD BE hem BF hem de BR kolonlarını kontrol etmeli

Bu değerler yaş değerleri 18den büyük olanlarda hem 5 hem de 12 den de büyük olma koşulları devreye giriyor.

Hemen bakıyorum ellerinize sağlık
 
Şu anda 5 yaşından küçük herkes için çalışıo ama şu durumlar çalışmıo;

5<=x<12 için BF ye giriş yapılamamalı ve 12den küçük giriş yapılamaz uyarısı verilmeli, aynı şekilde 18 den de küçük olduğu için BR ye de giriş yapılmamalı 18 den küçük giriş yapılamaz uyarısı verilmeli

12<=x<18 için de BRye giriş yapılmamalı ve 18 yaştan küçük olduğu için giriş yapılamaz uyarısı olmalı
 
Üstat eline sağlık. Ufak bir veri temizliği ile işimizi hallettik. Çok teşekkür ederim.
 
Geri
Üst