formüllü hücre değerine göre başka hücreyi kilitleme

Katılım
2 Temmuz 2009
Mesajlar
542
Excel Vers. ve Dili
office 2019 Türkçe
Altın Üyelik Bitiş Tarihi
28/12/2022
Değerli üstadlarım. bir sorunum var yardımcı olursanız sevinirim.
A1 ile A5 aralığında formüllü EVET HAYIR ve #YOK değerlerim var. buradaki hayır değeri olanları I sutununda karşılık gelen hücreye 0 (sıfır) yazmasını ve hücreyi kilitlemesini yapmak istiyorum.
örnek A2 hayır ise I2 ye 0(sıfır) yazılacak ve hücre kilitlenecek.
yardımlarınız için şimdiden teşekkürler.
sağlıklı günler dilerim...
219502
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,071
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Kilitleme işlemi makro ile yapılabilir. Makronun çalışabilmesi için de A sütunundaki değişikliklerin nelere bağlı olduğunu, daha doğrusu formülünü bilmek gerekir.
 
Katılım
2 Temmuz 2009
Mesajlar
542
Excel Vers. ve Dili
office 2019 Türkçe
Altın Üyelik Bitiş Tarihi
28/12/2022
üstad merhaba. veri doğrulama ile değişen eğerli bir formül var A sutununda.
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,071
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Merhaba da formülü öğrenmiş olduk mu sizce ;) Lütfen örnek dosya paylaşın.
 
Katılım
2 Temmuz 2009
Mesajlar
542
Excel Vers. ve Dili
office 2019 Türkçe
Altın Üyelik Bitiş Tarihi
28/12/2022
üstad ekledim. teşekkürler...
 

Ekli dosyalar

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,071
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ıp deneyiniz. B1:B5 aralığında değişiklik yaptığınızda ya da I sütununda 0 olan hücreleri seçmeye çalıştığınızda kodlar çalışır:

PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [B1:B5]) Is Nothing Then Exit Sub
If Target.Offset(0, -1) = "hayır" Then
    Target.Offset(0, 7) = 0
    Target.Offset(0, 7).Locked = True
Else
    Target.Offset(0, 7).ClearContents
    Target.Offset(0, 7).Locked = False
End If
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(Target, [I1:I5]) Is Nothing Then Exit Sub
If Target <> "" And Target.Value = 0 Then
    Target.Offset(0, 1).Select
End If
End Sub
 
Katılım
2 Temmuz 2009
Mesajlar
542
Excel Vers. ve Dili
office 2019 Türkçe
Altın Üyelik Bitiş Tarihi
28/12/2022
üstad ellerinize sağlık. mükemmel çalışıyor. teşekkür ederim. sağlıklı günler dilerim.
 
Katılım
2 Temmuz 2009
Mesajlar
542
Excel Vers. ve Dili
office 2019 Türkçe
Altın Üyelik Bitiş Tarihi
28/12/2022
üstad günaydın. A3 : B7 aralığını temizlemek istediğim zaman debug hatası veriyor. bunu düzeltmek mümkün müdür. teşekkürler...219557
 

Ekli dosyalar

YUSUF44

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

PHP:
Sub temizle()
    Application.EnableEvents = False
        Range("A3:B7").ClearContents
    Application.EnableEvents = True
End Sub
 
Katılım
2 Temmuz 2009
Mesajlar
542
Excel Vers. ve Dili
office 2019 Türkçe
Altın Üyelik Bitiş Tarihi
28/12/2022
üstad teşekkür ederim. önceki mesajımda belirtmeyi unutmuşum sayfayı korumaya almadan hücreye veri girişinin engellemesi muhteşem bir çözüm olmuş. ellerinize sağlık. sağlıklı günler dilerim...
 
Üst