Hücre Değerini Kısıtlama

Katılım
7 Temmuz 2007
Mesajlar
111
Excel Vers. ve Dili
Office 2003 Tr
Benim tam olarak yapmak istediğim şu. Örneğin A1 hücresine elimle veri girişi yapıyorum. Eğer C2 hücresindeki değer 1,3,5 ise A1 hücresine girilen değer en fazla 10 olabilir. Eğer C2 hücresine girilen değer 2 ise A1 hücresine girilecek değer aralığı 1 ile 85 olsun.
 

asi_kral

Özel Üye
Katılım
22 Şubat 2012
Mesajlar
2,833
Excel Vers. ve Dili
Excel 2007 Türkçe
Benim tam olarak yapmak istediğim şu. Örneğin A1 hücresine elimle veri girişi yapıyorum. Eğer C2 hücresindeki değer 1,3,5 ise A1 hücresine girilen değer en fazla 10 olabilir. Eğer C2 hücresine girilen değer 2 ise A1 hücresine girilecek değer aralığı 1 ile 85 olsun.
Merhaba
Sayfanın Kod bölümüne

--------------------------
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("A1")) Is Nothing Then Exit Sub
If Range("C2") = 1 Or Range("C2") = 3 Or Range("C2") = 5 Then
If Target > 10 Then
MsgBox "Yanlış Rakam Girdiniz En Büyük 10 Girebilirsiniz", vbCritical, _
"asi_kral_1967"
Target = ""
Target.Select
End If
ElseIf Range("C2") = 2 Then
If Target > 85 Then
MsgBox "Yanlış Rakam Girdiniz En Büyük 85 Girebilirsiniz", vbCritical, _
"asi_kral_1967"
Target = ""
Target.Select
End If
End If
End Sub

--------------------
Bu kodu kopyalayın ve deneyin.
Dosyanız ekte
 

Ekli dosyalar

Katılım
7 Temmuz 2007
Mesajlar
111
Excel Vers. ve Dili
Office 2003 Tr
Merhaba
Sayfanın Kod bölümüne

--------------------------
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("A1")) Is Nothing Then Exit Sub
If Range("C2") = 1 Or Range("C2") = 3 Or Range("C2") = 5 Then
If Target > 10 Then
MsgBox "Yanlış Rakam Girdiniz En Büyük 10 Girebilirsiniz", vbCritical, _
"asi_kral_1967"
Target = ""
Target.Select
End If
ElseIf Range("C2") = 2 Then
If Target > 85 Then
MsgBox "Yanlış Rakam Girdiniz En Büyük 85 Girebilirsiniz", vbCritical, _
"asi_kral_1967"
Target = ""
Target.Select
End If
End If
End Sub

--------------------
Bu kodu kopyalayın ve deneyin.
Dosyanız ekte
Kardeş ellerine sağlık olmuş ama bir sorun var. A1 hücresine veriler formülle geliyor. yani 1,3,5 gibi değerler ='Sayfa1'!BJ9 gibi bir hücreden geliyor. Bu durumda işlem yapmıyor. Ama başka hücre adresi verdim manuel giriş yapınca oluyor. Bunu formüllü olan hücreye nasıl uyarlarım.
Kod:
If Intersect(Target, Range("A1")) Is Nothing Then Exit Sub
yerini nasıl düzenlemem gerekiyor.
 

asi_kral

Özel Üye
Katılım
22 Şubat 2012
Mesajlar
2,833
Excel Vers. ve Dili
Excel 2007 Türkçe
Kardeş ellerine sağlık olmuş ama bir sorun var. A1 hücresine veriler formülle geliyor. yani 1,3,5 gibi değerler ='Sayfa1'!BJ9 gibi bir hücreden geliyor. Bu durumda işlem yapmıyor. Ama başka hücre adresi verdim manuel giriş yapınca oluyor. Bunu formüllü olan hücreye nasıl uyarlarım.
Kod:
If Intersect(Target, Range("A1")) Is Nothing Then Exit Sub
yerini nasıl düzenlemem gerekiyor.
Merhaba
Üstte verdiğim kodu bununla değiştirir misiniz_?
Sayfa aktif olduğunda çalışır

------------------------------------------------

Option Explicit
Private Sub Worksheet_Activate()
If Range("C2") = 1 Or Range("C2") = 3 Or Range("C2") = 5 Then
If Range("A1") > 10 Then
MsgBox "Yanlış Rakam Girdiniz En Büyük 10 Girebilirsiniz", vbCritical, _
"asi_kral_1967"
Sheets("Sayfa1").Select
Sheets("Sayfa1").Range("A1").Select
End If
ElseIf Range("C2") = 2 Then
If Range("A1") > 85 Then
MsgBox "Yanlış Rakam Girdiniz En Büyük 85 Girebilirsiniz", vbCritical, _
"asi_kral_1967"
Sheets("Sayfa1").Select
Sheets("Sayfa1").Range("A1").Select
End If
End If
End Sub

-----------------------------------------------------------

Dosyanız ekte
 

Ekli dosyalar

Üst