• DİKKAT

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

VBA ile hücrelerin rengini, hücre içi veriyi ve hücre kilidinin durumunu belirleme

Katılım
14 Kasım 2016
Mesajlar
170
Excel Vers. ve Dili
2016

Ekli dosyalar

Çok teşekkür ediyorum. Koşullu biçimlendirme ile yaptınız. Çok mantıklı.
Peki hücre değeri "Kayseri" iken sarı renkte olan hücrenin hücre kilidini açmayı nasıl yapabiliriz?
 
J sütununa kayseri yazdıktan sonra veri girebiliyorsunuz.:cool:
 
J sütununa kayseri yazdıktan sonra veri girebiliyorsunuz.:cool:

Evet de sayfaya koruma yapıcam. Korumada kilitli hücreleri seçtirmiycem. Sadece kilitsiz hücreleri seçtiricem ve bu hücrelere veri girişi yaptırıcam.

Yaptığım bu exceli kurumlara dağıtacam. O sebepten hücrenin kilit durumu meselesi önemli.
 
I sütunundaki hücrelerimi kilit yapıcanız?:cool:
 
I sütunundaki hücrelerimi kilit yapıcanız?:cool:
Yok yok. J4:J103 arasındaki Kırmızı renkli hücrelere "Kayseri dışındaki şehirler giriş yapamazlar" şeklinde yazdırıp hücreyi kilitleyeceğim. Sarı renkli hücrelerde ise hücre kilitleri açık olup bunlar boş duracak ve veri girişine müsait durumda olacaklar.
 
Hücreyi tekbaşına kilitleme olmuyor,biliyorsunuz.Sayfanında korumaya alınması gerekiyor.:cool:
 
Hücreyi tekbaşına kilitleme olmuyor,biliyorsunuz.Sayfanında korumaya alınması gerekiyor.:cool:
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
For i = 4 To 103
If Sayfa1.Cells(i, 9) = "Kayseri" Then
Sayfa1.Unprotect
Cells(i, 10).Locked = False
Sayfa1.Protect
Else
Sayfa1.Unprotect
Cells(i, 10).Locked = True
Sayfa1.Protect
End If
Next i

End Sub
kodu yukarıdaki şekilde yapınca oluyor. Ancak kırmızı hücreye "kayseri dışındaki şehirler giriş yapamazlar" yazdırıp saarı renkte olan hücreleri boş ve veri girişine müsait olma durumunu da koda eklediğimde, kod hata veriyor.
 
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
For i = 4 To 103
If Sayfa1.Cells(i, 9) = "Kayseri" Then
Sayfa1.Unprotect
Cells(i, 10).Locked = False
Sayfa1.Protect
Else
Sayfa1.Unprotect
Cells(i, 10).Locked = True
Sayfa1.Protect
End If
Next i

End Sub
kodu yukarıdaki şekilde yapınca oluyor. Ancak kırmızı hücreye "kayseri dışındaki şehirler giriş yapamazlar" yazdırıp saarı renkte olan hücreleri boş ve veri girişine müsait olma durumunu da koda eklediğimde, kod hata veriyor.


Mesela yukarıdaki kodu;
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
For i = 4 To 103
If Sayfa1.Cells(i, 9) = "Kayseri" Then
Sayfa1.Unprotect
Cells(i, 10).Locked = False
Sayfa1.Protect
Else
Sayfa1.Unprotect
Cells(i, 10).Value="kayseri dışındaki şehirler giriş yapamazlar"
Cells(i, 10).Locked = True
Sayfa1.Protect
End If
Next i

End Sub
şeklinde yapıyorum ancak 9. satırda hata veriyor.
 
Geri
Üst