hücre koruma için kullandığımız makro belirli bir hücreden sonra çalışmıyor.

Katılım
12 Kasım 2010
Mesajlar
195
Excel Vers. ve Dili
2007 türkçe
Altın Üyelik Bitiş Tarihi
14-07-2022
Merhabalar. Şöyle bir sorunumuz var, elimizdeki dosyada istediğimiz alanlara çift tıklayarak tik işareti koyduğumuz bir makro var. Bu işaretin sadece belirlediğimiz alanlarda çalışmasını istiyoruz, işlem yapılmasını istemediğimiz hücrelerin ise seçilmesini engellemek istiyoruz. Tüm sayfada sayfa koruma yaptığımızda tik işareti koyan makromuz çalışmadığından bunu da makro ile yapmaya çalıştık. Belirli bir kısma kadar her şey gayet güzel gidiyor. Ancak bir yerden sonra nedense sürekli hata alıyoruz. Konuyu ekteki dosyada daha net açıklamaya çalıştık. Yardımlarınız veya alternatif çözümleriniz için şimdiden teşekkürler. ( bahsettiğim kod aşağıdaki şekilde bir kod. a27 satırından sonra yaptığımız ilavelerde sorun yaşıyoruz. Dosya da ektedir. şimdiden teşekkür ediyorum ilgilenen arkadaşlara.)

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(Target, [AA2:AD2,aC3:AD3,V4:AD4,h5:AD5,J6:AD6,g7:AD7,j8:AD8,g9:AD9,f10:AD10,f11:AD11,e12:AD12,k13:AD13,A14:AD14,Y15:AD15,Z16:AD16,X17:AD17,M18:AD18,I19:AD19,I20:AD20,G21:AD21,G22:AD22,E23:AD23,G24:AD24,G25:AD25,E26:AD26,A27:AD27]) Is Nothing Then Exit Sub
Range("A6").Select
MsgBox ("bu kısımda işaretleme yapılamaz"), vbCritical
End Sub



http://s7.dosya.tc/server10/a4y6bn/TURKCE_ODEV_TAKIP_LISTESI.rar.html
 

turist

Destek Ekibi
Destek Ekibi
Katılım
18 Kasım 2009
Mesajlar
5,102
Excel Vers. ve Dili
2013 64Bit
English
Kodu şu şekilde deneyin.

Kod:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Range("B2:AD38")) Is Nothing Then
If Target.Interior.Color = vbWhite Then
Range("A" & Target.Row).Select
MsgBox ("bu kısımda işaretleme yapılamaz"), vbCritical
End If
End If
End Sub
Not:
Satırlarda renklendirme yapmak gerektiğinde, Yukarıdaki kodu PASİF hale getirin.
Renklendirmeden sonra Kodu AKTİF hale getirmeyi unutmayın.
PASİF hale getirmek için:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
satırının başına "tek tırnak" işareti ' koyun

'Private Sub Worksheet_SelectionChange(ByVal Target As Range) şeklinde olsun.(Satır yeşil renk olur)
Satır renklendirme işleminizden sonra tek tırnak işaretini silin.
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Benden de bir alternatif olsun.
Hazırlamıştım göndereyim bari.

Belgeye, fareyle BURAYA tıklayarak da erişebilirsiniz.
 

Ekli dosyalar

Katılım
12 Kasım 2010
Mesajlar
195
Excel Vers. ve Dili
2007 türkçe
Altın Üyelik Bitiş Tarihi
14-07-2022
Kodu şu şekilde deneyin.

Kod:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Range("B2:AD38")) Is Nothing Then
If Target.Interior.Color = vbWhite Then
Range("A" & Target.Row).Select
MsgBox ("bu kısımda işaretleme yapılamaz"), vbCritical
End If
End If
End Sub
Not:
Satırlarda renklendirme yapmak gerektiğinde, Yukarıdaki kodu PASİF hale getirin.
Renklendirmeden sonra Kodu AKTİF hale getirmeyi unutmayın.
PASİF hale getirmek için:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
satırının başına "tek tırnak" işareti ' koyun

'Private Sub Worksheet_SelectionChange(ByVal Target As Range) şeklinde olsun.(Satır yeşil renk olur)
Satır renklendirme işleminizden sonra tek tırnak işaretini silin.
Sayın turist, yardımınız ve desteğiniz için teşekkürler. Çözümünüz gerçekten harika olmuş. Ben bir sürü aralık belirleyip yazmaya çalışırken siz olayı iki hücre yazarak çözmüşsünüz. Bizim dosya sayenizde bambaşka bir boyuta taşınmış oldu :) Hem hücre boyuyor, hem tıklamasını istemediğimiz aralıkları yazmakla uğraşıyorduk. Siz olayı tek kalemde çözmüşsünüz :) Elinize emeğinize sağlık. Desteğiniz için teşekkürler...
 
Son düzenleme:
Katılım
12 Kasım 2010
Mesajlar
195
Excel Vers. ve Dili
2007 türkçe
Altın Üyelik Bitiş Tarihi
14-07-2022
Benden de bir alternatif olsun.
Hazırlamıştım göndereyim bari.

Belgeye, fareyle BURAYA tıklayarak da erişebilirsiniz.
Üstad, tek kelime ile harika olmuş. Yine döktürmüşsünüz :) Konu numarası girince hücrenin aktif olması ve boyadıktan sonra giriş yapılabiliyor olması başlı başına beni benden aldı zaten :) Üstelik, sayfada eklemeler yapmak istediğimde de kullanabileceğim bir çalışma olmuş. Resmen dosyanın geleceğini kurtarmışsın. Kod yazmamış, resmen şiir yazmışsın :) Eline sağlık tekrar...
 

turist

Destek Ekibi
Destek Ekibi
Katılım
18 Kasım 2009
Mesajlar
5,102
Excel Vers. ve Dili
2013 64Bit
English
Sayın turist, yardımınız ve desteğiniz için teşekkürler. Çözümünüz gerçekten harika olmuş. Ben bir sürü aralık belirleyip yazmaya çalışırken siz olayı iki hücre yazarak çözmüşsünüz. Bizim dosya sayenizde bambaşka bir boyuta taşınmış oldu :) Hem hücre boyuyor, hem tıklamasını istemediğimiz aralıkları yazmakla uğraşıyorduk. Siz olayı tek kalemde çözmüşsünüz :) Elinize emeğinize sağlık. Desteğiniz için teşekkürler...
Sağolun.
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Üstad, tek kelime ile harika olmuş. Yine döktürmüşsünüz :) Konu numarası girince hücrenin aktif olması ve boyadıktan sonra giriş yapılabiliyor olması başlı başına beni benden aldı zaten :) Üstelik, sayfada eklemeler yapmak istediğimde de kullanabileceğim bir çalışma olmuş. Resmen dosyanın geleceğini kurtarmışsın. Kod yazmamış, resmen şiir yazmışsın :) Eline sağlık tekrar...
Önemli olan ihtiyacın görülmesi.
Belgenin; mümkün olduğunca, esnek kullanıma uygun olmasının yararlı olacağını düşündüm.
Güzel sözler için teşekkürler.
.
 
Üst