DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
Altın Üyelik Hakkında Bilgi
For SAYFA = 1 To Sheets.Count
Sheets(SAYFA).Activate
Cells.FormulaHidden = True
Cells.Locked = True
If Sheets(SAYFA).Name = "TAblolar" Then
SAT = 300
SUT = 14
Else
SAT = 120
SUT = 23
End If
For Each HUCRE In Worksheets(SAYFA).Range(Cells(1, 1), Cells(SAT, SUT)).Cells
If HUCRE.MergeCells = True Then
Set BIRLESMIS_HUCRE = HUCRE.MergeArea
If BIRLESMIS_HUCRE.Font.ColorIndex = 56 Then
BIRLESMIS_HUCRE.Locked = False
BIRLESMIS_HUCRE.FormulaHidden = True
End If
Else
If HUCRE.Font.ColorIndex = 56 Then
HUCRE.Locked = False
HUCRE.FormulaHidden = True
End If
End If
Next HUCRE
Next SAYFA
diğer hücreler de tahoma ve 9 punto değil mi ?
mavi tek ayrıntı olabilir diye düşünüyorum ?
Mavi rengi baz alarak örnek bir kodlama göndrebilirmisiniz hocam ? daha önce gönderdiğiniz kodda değişiklik yaptım fakat sonuç alamadım.
For SAYFA = 1 To Sheets.Count
Sheets(SAYFA).Activate
Cells.FormulaHidden = True
Cells.Locked = True
If Sheets(SAYFA).Name = "Tablolar" Then
SAT = 300
SUT = 14
Else
SAT = 120
SUT = 23
End If
For Each HUCRE In Worksheets(SAYFA).Range(Cells(1, 1), Cells(SAT, SUT)).Cells
If HUCRE.MergeCells = True Then
Set BIRLESMIS_HUCRE = HUCRE.MergeArea
If BIRLESMIS_HUCRE.Font.ColorIndex = 5 Then
BIRLESMIS_HUCRE.Locked = False
BIRLESMIS_HUCRE.FormulaHidden = True
End If
Else
If HUCRE.Font.ColorIndex = 5 Then
HUCRE.Locked = False
HUCRE.FormulaHidden = True
End If
End If
Next HUCRE
Next SAYFA
Worksheets(SAYFA).Protect "k0081"
Doğan hocam; sanırım ben hatanın nereden kaynaklandığını buldum. sizin göndermiş olduğunuz kod diğer sayfalarıda şifreliyor.. bunu sadece 1 sayfa için düzenleyebilirsek, sorun çözülüyor hocam.. ( ayrıcada bu kodda dursun o hepsine şifre koyuyor belirtilen şarta göre..) modül ile çalıştıracağım hocam ben bu kodu... teşekkürler..
Sheets("Sayfa1").Activate ' Sayfa1 isimli sayfa aktif edildi...
Cells.FormulaHidden = True ' tüm hücrelerin Gizli seçeneği seçildi
Cells.Locked = True ' tüm hücreler kilitli seçeneği seçildi
SAT = 120 'sayfada bilgi olan en son satır
SUT = 23 ' sayfada bilgi olan en son sütun
' A1 hücresinden ( 1,1) , yukarıda verdiğiniz satır/sütuna denk gelen , ( örnek kodda w120 hücresine kadar ) tüm aralıktaki hücreler için....
' Eğer aralık değişebilir / dinamik ise ,
' SUT = ActiveCell.SpecialCells(xlLastCell).Column
' SAT = ActiveCell.SpecialCells(xlLastCell).Row
' şeklinde belirtebilirsin. böylece sayfadaki son satır ve son sütun alınır
' ancak sayfa çok büyüktür ve sen sadece küçük bir aralıkta bunu yapmak istiyorsan
' işlem süresini kısaltmak adına 1.yolu tercih edebilirsin.
' benim bu 120 x 23 lük kilitleme işlemini yaptığım sayfada 1200 satır, 300 kolon vardı
' ama sadece işime yarayan daha doğrusu veri girişi yapılacak yerde bunu yaptım
' diğer kısımlar formüllü olduğundan tekrar kontrole gerek yoktu...
' 2. ve 3. satır tüm sayfayı kilitliyor zaten...
' devam edelim... ne demiştik, aralıktaki tüm hücreler için...
For Each HUCRE In Worksheets("Sayfa1").Range(Cells(1, 1), Cells(SAT, SUT)).Cells
'Sadece renk bakacaksan mergearea'ya gerek olmayabiliyor, ama ben daha sağlıklı çalışması açısından bunu kullanıyorum. Bazen hata alıyorum çünkü
'çok da detaylı incelemeyerek, iki satır fazla kod yazmak daha uygun oldu
' renk koduna değil de, değerine falan bakmak istediğinde de bu ayrım zorunlu oluyor sanırım.
' birleştirdiğin hücre yok ise bu aralıkta, Bu satır ile
If HUCRE.MergeCells = True Then
Set BIRLESMIS_HUCRE = HUCRE.MergeArea
If BIRLESMIS_HUCRE.Font.ColorIndex = 5 Then
BIRLESMIS_HUCRE.Locked = False
BIRLESMIS_HUCRE.FormulaHidden = True
End If
Else
' Bu satır arasını silebilirsin, tabii bunu silersen en sondaki END IF i de silmen gerekecek...
If HUCRE.Font.ColorIndex = 5 Then
HUCRE.Locked = False
HUCRE.FormulaHidden = True
End If
End If
Next HUCRE
Hocam çok teşekkür ediyorum,, tamamdır.. açıklamalı bilgiler içinde ayrıca teşekkürler hocam...
rica ederim , ilave birşey olursa yazarsın , çok sıkı takip edemiyorum forumu,ses çıkmazsa ÖM gönderirsin.
ben de bir ara autocad hakkında seni rahatsız edebilirim![]()