Korumalı Sayfalara Erişim.

Katılım
12 Ocak 2009
Mesajlar
838
Excel Vers. ve Dili
2003
Altın Üyelik Bitiş Tarihi
07-02-2024
Merhaba arkadaşlar.
Üzerinde çalıştığım projede farklı kaydet butonu için aşağıdaki makroyu kullanıyorum.
Projede kullanılan formüllerin yanlışlıkla silinmemesi için sayfalarda bulunan formülleri sayfa koruma fonksiyonuna şifre uygulayarak korudum.
Makro, mevcut haliyle korunan sayfalarda da işlem yapamıyor. Makroda yapılacak değişiklikle korunan sayfalarda da işlem yapmasını istiyorum.
Yardımcı olacak arkdaşlara teşekkür ederim.
Sayfa Koruma Şifresi: 253425
Kod:
Sub yedek()
Dim sht As Worksheet
Dim dizi() As Variant
Dim eleman As String

dizi = Array("OCAK", "ŞUBAT", "MART", "NİSAN", "MAYIS", "HAZİRAN", "TEMMUZ", "AĞUSTOS", _
"EYLÜL", "EKİM", "KASIM", "ARALIK")

For Each sht In Worksheets
eleman = sht.Name
If InStr(Join(dizi), eleman) > 0 Then
sht.Range("C4:L34").ClearContents
End If
Next
MsgBox "Bütün Stok Verileri Silindi. Yeni Dönem adını yazınız."
   
Application.Dialogs(xlDialogSaveAs).Show
ActiveWorkbook.Save
End Sub
 

Ekli dosyalar

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,849
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
Bu konuda sitede bir çok örnek var aşağıdaki kodları çalıştırdığınız makronuzun üstüne ve altına ekleyiniz.

Worksheets(ActiveSheet.Name).Protect Password:="253425", Contents:=False, Scenarios:=False
Worksheets(ActiveSheet.Name).Protect Password:="253425", Contents:=True, Scenarios:=True
 
Katılım
12 Ocak 2009
Mesajlar
838
Excel Vers. ve Dili
2003
Altın Üyelik Bitiş Tarihi
07-02-2024
Bu konuda sitede bir çok örnek var aşağıdaki kodları çalıştırdığınız makronuzun üstüne ve altına ekleyiniz.
Halit hocam teşekkür ederim ilginize, fakat bütün denemelerime rağmen aşağıdaki hata mesajını alıyorum.
 
Katılım
12 Ocak 2009
Mesajlar
838
Excel Vers. ve Dili
2003
Altın Üyelik Bitiş Tarihi
07-02-2024
Sorunumu, forumda bulduğum kodları aşağıdaki şekilde uyarlamakla çözdüm.
Kod:
Sub yedek()
Dim i As Integer
For i = 2 To 13
Sheets(i).Unprotect 253425
Sheets(i).Range("C4:I34", "L4:L34") = ClearContents
Sheets(i).Protect 253425
Next i
MsgBox "Kayıtlı Veriler Silindi. Yeni isim yazınız."
Application.Dialogs(xlDialogSaveAs).Show
ActiveWorkbook.Save
End Sub
 
Üst