Hücreye veri girmeyi kısıtlamak

mustafa

Altın Üye
Katılım
8 Eylül 2004
Mesajlar
205
Excel Vers. ve Dili
Excel 365 - Türkçe
Altın Üyelik Bitiş Tarihi
23-12-2024
Arama yaptım fakat benim sorunuma benzer bir cevap bulamadım (umarım gözden kaçırdığım yoktur).

A1 ve A2 hücrelerinden herhangi birinde veri (sayı) varsa C1 hücresine veri girilemesin. Veya tersi C1 hücresinde veri (sayı) varken A1 ve A2 hücrelerine veri girilemesin. Veri Doğrulama ile uğraştım fakat olmadı. Makro olsada olur (hata mesajı şeklinde). Yardımcı olacaklara şimdiden teşekkürler.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Aşağıdaki kodu sayfanın kod sayfasına yazarak deneyin.

[vb:1:c7d262a7b6]Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Selection.Cells.Address = "$C$1" Then
If [a1] <> "" Or [a2] <> "" Then
MsgBox ("C1 HÜCRESİNE VERİ GİRİLEMEZ")
[c2].Select
End If
End If
End Sub
[/vb:1:c7d262a7b6]
 

mustafa

Altın Üye
Katılım
8 Eylül 2004
Mesajlar
205
Excel Vers. ve Dili
Excel 365 - Türkçe
Altın Üyelik Bitiş Tarihi
23-12-2024
Levent bey, şöyle bir deneme yaptım; a1 - b1 ve a2 - b2 hücrelerini birleştirince hata verdi. Ben mi hata yapıyorum yoksa bu makro birleştirilmiş hücrelerde çalışmaz mı?
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Kesinlikle çalışır sanıyorum bir yerde hata yaptınız.
 

mustafa

Altın Üye
Katılım
8 Eylül 2004
Mesajlar
205
Excel Vers. ve Dili
Excel 365 - Türkçe
Altın Üyelik Bitiş Tarihi
23-12-2024
Levent bey, haklısınız c1 ve d1 hücrelerini birleştirince hata veriyormuş. Bunun çözümü var mı acaba?
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
If Selection.Cells.Address = "$C$1" Then


yukarıdaki satırı aşağıdaki gibi değiştirin.

If Selection.Cells.Address = "$C$1:$D$1" Then
 
Katılım
29 Eylül 2004
Mesajlar
1,810
Excel Vers. ve Dili
Excel 2002 TR
Makro ile belki daha iyidir ama veri doğrulama ile yapmaya uğraşmışsınız madem bilgi olsun diye ekliyorum.

A1 ve A2 hücreleri için veri doğrulamada Ã?ZEL seçip
=EÐER(C1<>"";"")

C1 hücresi için yine Ã?ZEL seçip
=EÐER(BAÐ_DEÐ_DOLU_SAY(A1:A2)>0;"")

yazarsanız sanırım istediğiniz gibi birşey olur.
 

mustafa

Altın Üye
Katılım
8 Eylül 2004
Mesajlar
205
Excel Vers. ve Dili
Excel 365 - Türkçe
Altın Üyelik Bitiş Tarihi
23-12-2024
leventm' Alıntı:
If Selection.Cells.Address = "$C$1" Then
yukarıdaki satırı aşağıdaki gibi değiştirin.
If Selection.Cells.Address = "$C$1:$D$1" Then
Levent bey, teşekkür ederim. Bu kez oldu.

danersin' Alıntı:
Makro ile belki daha iyidir ama veri doğrulama ile yapmaya uğraşmışsınız madem bilgi olsun diye ekliyorum.

A1 ve A2 hücreleri için veri doğrulamada Ã?ZEL seçip
=EÐER(C1<>"";"")

C1 hücresi için yine Ã?ZEL seçip
=EÐER(BAÐ_DEÐ_DOLU_SAY(A1:A2)>0;"")

yazarsanız sanırım istediğiniz gibi birşey olur.
Sn danersin, yukarıdaki formülünüzde C1 hücresi dolu iken A1 ve A2 hücrelerine veri girilemiyor. Fakat problem, A1 ve A2 hücreleri boş iken de C1 e veri girilemiyor. Formüllerle epeyce uğraştım fakat olmadı. Yukarıdaki makro işimi gördüğü için formül çözümünde ısrarcı olmayacağım. İlgilendiğiniz için size de teşekkür ederim.
 
Katılım
29 Eylül 2004
Mesajlar
1,810
Excel Vers. ve Dili
Excel 2002 TR
Yinede doğrusu bulunsun . C1'deki formülü eksik yazmışım.

=EÐER(BAÐ_DEÐ_DOLU_SAY(A1:A2)>0;"";C1)
 

mustafa

Altın Üye
Katılım
8 Eylül 2004
Mesajlar
205
Excel Vers. ve Dili
Excel 365 - Türkçe
Altın Üyelik Bitiş Tarihi
23-12-2024
danersin' Alıntı:
Yinede doğrusu bulunsun . C1'deki formülü eksik yazmışım.

=EÐER(BAÐ_DEÐ_DOLU_SAY(A1:A2)>0;"";C1)
Sn danersin, formül şimdi hatasız çalıştı. Elinize sağlık, teşekkür ederim.
 
Üst