Makro Sayfa koruma hk.

Katılım
17 Ekim 2017
Mesajlar
110
Excel Vers. ve Dili
Microsoft Office 2013 Standard
Altın Üyelik Bitiş Tarihi
28.04.2024
Merhaba Arkadaşlar,

Makro kullanarak toplu sayfa koruması yaptığım aşağıdaki kodu revize ederek otomatik filitre ve sıralama özelliğini aktif etmek istiyorum. Toplu şifreleme yaptığımda bu özellikler kapalı olarak geliyor. Bu konuda yardımcı olabilirseniz çok memnun olurum.

Option Explicit

Sub Sayfalari_Koru()
Dim Sayfa As Worksheet

For Each Sayfa In Worksheets
Sayfa.Protect "12345"
Next

MsgBox "İşleminiz tamamlanmıştır.", vbInformation
End Sub


Sub Koruma_Kaldir()
Dim Parola As Variant, Sayfa As Worksheet

Parola = InputBox("Lütfen sayfa koruma şifresini giriniz!", "ŞİFRE GİRİŞİ")

If Parola = "" Or Parola = False Then
MsgBox "İşleminiz iptal edilmiştir!", vbExclamation
Exit Sub
End If

If Parola <> 12345 Then
MsgBox "Hatalı şifre girişi yaptınız!" & vbCr & "Lütfen daha sonra tekrar deneyiniz.", vbCritical
Exit Sub
Else
For Each Sayfa In Worksheets
Sayfa.Unprotect Parola
Next

MsgBox "İşleminiz tamamlanmıştır.", vbInformation
End If
End Sub

Saygılarımla,
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,243
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Merhaba,

Korumalı sayfada SIRALAMA özelliğini kullanabilmeniz için aralıktaki hücrelerin kilidinin açık olması gerekiyor.

Aşağıdaki kod ile filtre ve sıralama özelliğini aktif edebilirsiniz. Ama dediğim gibi hücreler kilitli ise sıralama işleminde hata alacaksınız. Bunun için ayrı bir makro ile hücrelerin kilidini açarak işlem yapabilirsiniz.

C++:
Option Explicit

Sub Sayfalari_Koru()
    Dim Sayfa As Worksheet
    
    For Each Sayfa In Worksheets
        Sayfa.Protect Password:=12345, AllowSorting:=True, AllowFiltering:=True
    Next
    
    MsgBox "İşleminiz tamamlanmıştır.", vbInformation
End Sub
 
Katılım
17 Ekim 2017
Mesajlar
110
Excel Vers. ve Dili
Microsoft Office 2013 Standard
Altın Üyelik Bitiş Tarihi
28.04.2024
Merhaba,

Korumalı sayfada SIRALAMA özelliğini kullanabilmeniz için aralıktaki hücrelerin kilidinin açık olması gerekiyor.

Aşağıdaki kod ile filtre ve sıralama özelliğini aktif edebilirsiniz. Ama dediğim gibi hücreler kilitli ise sıralama işleminde hata alacaksınız. Bunun için ayrı bir makro ile hücrelerin kilidini açarak işlem yapabilirsiniz.

C++:
Option Explicit

Sub Sayfalari_Koru()
    Dim Sayfa As Worksheet
   
    For Each Sayfa In Worksheets
        Sayfa.Protect Password:=12345, AllowSorting:=True, AllowFiltering:=True
    Next
   
    MsgBox "İşleminiz tamamlanmıştır.", vbInformation
End Sub
Korhan Bey, Ellerinize sağlık işimi görecek bu şekilde.

Saygılarımla,
 
Üst