• DİKKAT

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

Hücreye veri girmeyi kısıtlamak

mustafa

Altın Üye
Katılım
8 Eylül 2004
Mesajlar
245
Excel Vers. ve Dili
Excel 365 - Türkçe
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.
 
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]
 
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ı?
 
Kesinlikle çalışır sanıyorum bir yerde hata yaptınız.
 
Levent bey, haklısınız c1 ve d1 hücrelerini birleştirince hata veriyormuş. Bunun çözümü var mı acaba?
 
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
 
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.
 
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.
 
Yinede doğrusu bulunsun . C1'deki formülü eksik yazmışım.

=EÐER(BAÐ_DEÐ_DOLU_SAY(A1:A2)>0;"";C1)
 
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.
 
Geri
Üst