• DİKKAT

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

koşullu hücre kilitleme

  • Konbuyu başlatan Konbuyu başlatan eyazla
  • Başlangıç tarihi Başlangıç tarihi
Herkese merhaba.

Uygun bir konu olduğu için sorunumu burada dile getirmek istedim. Hazırlamakta olduğum çalışma sayfasında D5 : D1004 aralığında tekrar eden bir veri doğrulama listesi bulunmaktadır. Bu aralıktaki her hücrede açılan listede "M²" ve "TOPLAM" (tırnaklar hariç) olmak üzere iki seçenek bulunmaktadır. Benim istediğim; eğer D5 hücresinde "M²" seçimini yaparsam J5 hücresi kilitlensin, "TOPLAM" seçimini yaparsam J5 hücresi açık olsun ve veri girişi yapılsın. Bu kural D5 : D1004 ve J5 : J1004 aralığında aynı şekilde devam etsin. Yalnız, sayfadaki diğer sütunlarda mevcut durumda kilitli ya da açık olan hücreler var. Herhangi bir koşula bağlı değiller ve sayfa varsayılan olarak korumalı durumda. Belki önemi vardır diye belirtmek istedim.

Koşula bağlı olmasını istediğim aralıklar yukarıdadır. Şimdiden teşekkür ederim.
 
........
Benim istediğim; eğer D5 hücresinde "M²" seçimini yaparsam J5 hücresi kilitlensin,
"TOPLAM" seçimini yaparsam J5 hücresi açık olsun ve veri girişi yapılsın.
Bu kural D5 : D1004 ve J5 : J1004 aralığında aynı şekilde devam etsin.
.........
Merhaba.

-- Alt taraftan ilgili sayfa adına fareyle sağ tıklayıp KOD GÖRÜNTÜLEyi seçin,
-- Açılan VBA ekranında sağ taraftaki boş alana aşağıdaki kod'u yapıştırın,
-- D5:D1004 hücre aralığının KİLİTLİ özelliği varsa onu kaldırın.
.
Kod:
[FONT="Arial Narrow"][B]Private Sub Worksheet_Change(ByVal Target As Range)[/B]
If Intersect(Target, [D5:D1004]) Is Nothing Then Exit Sub
ActiveSheet.Unprotect
If Target = "M2" Then Cells(Target.Row, "J").Locked = True
If Target = "TOPLAM" Then Cells(Target.Row, "J").Locked = False
ActiveSheet.Protect
[B]End Sub[/B][/FONT]
 
Merhaba.

-- Alt taraftan ilgili sayfa adına fareyle sağ tıklayıp KOD GÖRÜNTÜLEyi seçin,
-- Açılan VBA ekranında sağ taraftaki boş alana aşağıdaki kod'u yapıştırın,
-- D5:D1004 hücre aralığının KİLİTLİ özelliği varsa onu kaldırın.
.
Kod:
[FONT="Arial Narrow"][B]Private Sub Worksheet_Change(ByVal Target As Range)[/B]
If Intersect(Target, [D5:D1004]) Is Nothing Then Exit Sub
ActiveSheet.Unprotect
If Target = "M2" Then Cells(Target.Row, "J").Locked = True
If Target = "TOPLAM" Then Cells(Target.Row, "J").Locked = False
ActiveSheet.Protect
[B]End Sub[/B][/FONT]

Tam olarak istediğim gibi. Başlangıçta çalışmadı, ancak "M2" => "M²" değişiminden sonra oldu. :) Çok teşekkür ederim.
 
Tam olarak istediğim gibi. Başlangıçta çalışmadı, ancak "M2" => "M²" değişiminden sonra oldu. :) Çok teşekkür ederim.
Tekrar merhaba.

Üstsimge değil de normal karakter olarak yazıldığını düşünmüştüm.

Önemli olan ihtiyacın görülmesi. Kolay gelsin.
 
Geri
Üst