• DİKKAT

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

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

  • Konbuyu başlatan Konbuyu başlatan cem116
  • Başlangıç tarihi Başlangıç tarihi
Katılım
12 Kasım 2010
Mesajlar
195
Excel Vers. ve Dili
2007 türkçe
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
 
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.
 
Benden de bir alternatif olsun.
Hazırlamıştım göndereyim bari.

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

Ekli dosyalar

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:
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...
 
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.
 
Ü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.
.
 
Geri
Üst