• DİKKAT

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

vba kodu korumalı görünümde çalışmıyor

Katılım
12 Kasım 2016
Mesajlar
131
Excel Vers. ve Dili
Excel 2016
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [f35:f64]) Is Nothing Then
If Target.Value = "" Then
Cells(Target.Row, "p") = ""
Else
Cells(Target.Row, "p") = Format(Now, "dd.mmm hh:mm")
End If
End If
End Sub

bu kod tamam ama korumalı görünümde çalışma imkanı vardır ama biraz araştırdım ugraştım yapamadım. Bilen bir arkadaş yardımcı olursa sevinirim.
 
ActiveSheet.UnProtect Password:="şifreniz"

Bunu If not ile başlayan kodlarınızdan önce

ActiveSheet.Protect Password:="şifreniz"

Bunu kodların bitiminde end sub dan önce yerleştirin ve deneyin .
 
Private Sub Worksheet_Change(ByVal Target As Range)
ActiveSheet.UnProtect Password:="zzz"
If Not Intersect(Target, [f35:f64]) Is Nothing Then
If Target.Value = "" Then
Cells(Target.Row, "p") = ""
Else
Cells(Target.Row, "p") = Format(Now, "dd.mmm hh:mm")
End If
End If
ActiveSheet.Protect Password:="zzz"
End Sub

kod harika çalışıyor ama f35:f64 sutunu tekken sorun yoktu ama f ve g sutununu brleştirince referans f olarak gördügü halde hata veriyor sutunu tekrardan tek hale mi getirmeliyim yoksa başka bir çaresi var mı?. yardımcı olursanız sevinirim...
 
Merhaba.

Soru gerçek belgeyle aynı yapıda bir örnek belge üzerinden sorulsaydı daha iyi olurdu.

G sütunundaki hücreyle birleştirilmiş olan hücreler öncelikle olmak üzere,
ilgili alandaki (F35:F64 aralığında) hücrelerin HÜCRELERİ BİÇİMLENDİR => KORUMA kulakçığındaki KİLİTLİ
seçeneğinin İŞARETSİZ olduğunu kontrol edin varsa bu işareti KALDIRIN.

Ardından da mevcut kod'u aşağıdakiyle değiştirerek deneyin.
.
Kod:
[B]Private Sub Worksheet_Change(ByVal Target As Range)[/B]
ActiveSheet.[B]Unprotect[/B] Password:="[B][COLOR="red"]zzz[/COLOR][/B]"
    If Not Intersect(Target, [[B]F35:F64[/B]]) Is Nothing Then
        If Range(Split(Target.Address(0, 0), ":")(0)).Value = "" Then
            Cells(Target.Row, "p") = ""
        Else
            Cells(Target.Row, "p") = Format(Now, "dd.mmm hh:mm")
        End If
    End If
ActiveSheet.[B]Protect[/B] Password:="[B][COLOR="Red"]zzz[/COLOR][/B]"
[B]End Sub[/B]
 
hocam elinize sağlık tam istedigim gibi bir çözüm olmuş.
 
Geri
Üst