Eğer "Evet" yazıyorsa hücreye veri girdirme

ozgurpeh

Altın Üye
Katılım
30 Eylül 2007
Mesajlar
383
Excel Vers. ve Dili
2010 Türkçe
Altın Üyelik Bitiş Tarihi
04-01-2027
Sayfa1 için A2 hücresine veri girilirken c3 ücresinde evet yazıyorsa veri girişine izin versin fakat C3 hücresinde hayır yazıyorsa bu alana veri giremezsin uyarısı verdirmek istiyorum. Bununla ilgili nasıl bir makro yazılması gerekir yardımcı olabilirmisiniz ?
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,084
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Aşağıdaki kodları ilgili sayfanın kod bölümüne (sayfa adına sağ tıklayıp Kod görüntüle deyince açılan sayfaya) yapıştırırsanız C3 hücresinde Evet yazmadıkça A2 hücresini seçmenize izin vermez, dolayısıyla veri giremezsiniz:

Kod:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(Target, [A2]) Is Nothing Then Exit Sub
If WorksheetFunction.Proper([C3]) <> "Evet" Then
    MsgBox "Bu hücreye veri girebilmek için C3 hücresinde Evet yazmalıdır!", vbCritical
    [C3].Select
End If
End Sub
 

ozgurpeh

Altın Üye
Katılım
30 Eylül 2007
Mesajlar
383
Excel Vers. ve Dili
2010 Türkçe
Altın Üyelik Bitiş Tarihi
04-01-2027
Aşağıdaki kodları ilgili sayfanın kod bölümüne (sayfa adına sağ tıklayıp Kod görüntüle deyince açılan sayfaya) yapıştırırsanız C3 hücresinde Evet yazmadıkça A2 hücresini seçmenize izin vermez, dolayısıyla veri giremezsiniz:

Kod:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(Target, [A2]) Is Nothing Then Exit Sub
If WorksheetFunction.Proper([C3]) <> "Evet" Then
    MsgBox "Bu hücreye veri girebilmek için C3 hücresinde Evet yazmalıdır!", vbCritical
    [C3].Select
End If
End Sub
Dönüşünüz için teşekkür ederim. Peki bunu 3 farklı hücreye naıl uygularız aynı sayfa için;

yani C3 evet yazmadıkça A2 hücresini seçemiyor bu ok c4 te evet yazmadıkçada a3 ve a5 ide seçmesini istiyorum, alt alta 3 tane aynı formulü kopyaladım hata verdi
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,084
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Aşağıdaki gibi olabilir:

Kod:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(Target, [A2]) Is Nothing Then GoTo 10
If WorksheetFunction.Proper([C3]) <> "Evet" Then
    MsgBox "Bu hücreye veri girebilmek için C3 hücresinde Evet yazmalıdır!", vbCritical
    [C3].Select
End If
10:
If Intersect(Target, [A3,A5]) Is Nothing Then Exit Sub
If WorksheetFunction.Proper([C4]) <> "Evet" Then
    MsgBox "Bu hücreye veri girebilmek için C4 hücresinde Evet yazmalıdır!", vbCritical
    [C4].Select
End If
End Sub
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Evet ve hayır dışında bir şey yazılırsa ne olacak onu yazmamışsınız.:cool:
 

ozgurpeh

Altın Üye
Katılım
30 Eylül 2007
Mesajlar
383
Excel Vers. ve Dili
2010 Türkçe
Altın Üyelik Bitiş Tarihi
04-01-2027
Evet ve hayır dışında bir şey yazılırsa ne olacak onu yazmamışsınız.:cool:
aslında #YUSUF44 ün çözümü işimi görüyor hayırsa giremiyorsun evetse girebiliyorsun fakat şöyle bir hata çıktı kopyalarken falan hata veriyor yani hücre hayırsa o hücreye hiçbir işlem yaptırmıyor
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,510
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Alternatif;

Örnek dosyayı deneyiniz. Veri doğrulama uygulanmıştır.
 

Ekli dosyalar

Katılım
27 Ekim 2017
Mesajlar
97
Excel Vers. ve Dili
2016 TÜRKÇE
Altın Üyelik Bitiş Tarihi
06-01-2024
Aşağıdaki kodları ilgili sayfanın kod bölümüne (sayfa adına sağ tıklayıp Kod görüntüle deyince açılan sayfaya) yapıştırırsanız C3 hücresinde Evet yazmadıkça A2 hücresini seçmenize izin vermez, dolayısıyla veri giremezsiniz:

Kod:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(Target, [A2]) Is Nothing Then Exit Sub
If WorksheetFunction.Proper([C3]) <> "Evet" Then
    MsgBox "Bu hücreye veri girebilmek için C3 hücresinde Evet yazmalıdır!", vbCritical
    [C3].Select
End If
End Sub
Hedef Hücre a2 ye girdikten sonra aşagıdaki satıra atlıyor.Açıklar mısnız
If WorksheetFunction.Proper([C3]) <> "Evet" Then kısmı ne demek açıklar mısınız?
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,084
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
If WorksheetFunction.Proper([C3]) <> "Evet" Then kısmı C3 hücresinde yazan yazıya YAZIM.DÜZENİ formülünü uyguluyor, ilk harfini büyük diğerlerini küçük yapıyor. Eğer C3 hücresinde Evet'ten farklı şekilde veri varsa (EVET gibi) karşılaştırmada sıkıntı çıkmamasını sağlıyor.

"Hedef hücre A2'ye girdikten sonra aşağıdaki satıra atlıyor" kısmından ne kastettiğinizi anlamadım maalesef.
 
Üst