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

Katılım
14 Kasım 2016
Mesajlar
170
Excel Vers. ve Dili
2016
Ç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?
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
J sütununa kayseri yazdıktan sonra veri girebiliyorsunuz.:cool:
 
Katılım
14 Kasım 2016
Mesajlar
170
Excel Vers. ve Dili
2016
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.
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
I sütunundaki hücrelerimi kilit yapıcanız?:cool:
 
Katılım
14 Kasım 2016
Mesajlar
170
Excel Vers. ve Dili
2016
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.
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Hücreyi tekbaşına kilitleme olmuyor,biliyorsunuz.Sayfanında korumaya alınması gerekiyor.:cool:
 
Katılım
14 Kasım 2016
Mesajlar
170
Excel Vers. ve Dili
2016
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.
 
Katılım
14 Kasım 2016
Mesajlar
170
Excel Vers. ve Dili
2016
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.
 
Üst