Excel Makro (VBA) Dersleri - 17: Makro ile Sayfa ve Çalışma Kitabı Şifreleme

kusha · 01 Ağustos 2026 · 4 dk okuma

Bu derste, VBA komutlarıyla bir sayfayı veya tüm çalışma kitabını korumayı, ve isterseniz kendi özel şifre mantığınızı kurmayı göstereceğiz.

Sayfayı Koru / Korumayı Kaldır

Sub SayfayiKoru()
    ActiveSheet.Protect Password:="1234"
End Sub

Sub KorumayiKaldir()
    ActiveSheet.Unprotect Password:="1234"
End Sub

Çalışma Kitabının Yapısını Koru

Sayfa eklenmesini/silinmesini/adının değiştirilmesini engellemek için:

Sub KitabiKoru()
    ActiveWorkbook.Protect Password:="1234", Structure:=True
End Sub

InputBox ile Özel Bir Şifre Sistemi Kurmak

Hazır Protect/Unprotect yerine, kendi mantığınızla bir "önce şifre sor, doğruysa işlemi yap" akışı da kurabilirsiniz:

Sub OzelSifreliIslem()
    Dim sifre As String
    sifre = InputBox("Lütfen şifreyi girin:")

    If sifre = "1453" Then
        ActiveSheet.Unprotect
        MsgBox "Şifre doğru, koruma kaldırıldı."
    Else
        MsgBox "Yanlış şifre."
    End If
End Sub

InputBox, kullanıcıdan tek satırlık bir metin girişi isteyen bir pencere açar — döndürdüğü değeri sabit bir şifreyle karşılaştırarak basit bir erişim kontrolü kurabilirsiniz.

Önemli Uyarı: Bu Gerçek Bir Güvenlik Değildir

VBA Protect/Unprotect şifrelemesi ve InputBox tabanlı özel kontroller, meraklı kullanıcıları caydırmak için yeterlidir ama kararlı birinin karşısında gerçek bir güvenlik sağlamaz — VBA proje şifreleri dahil bu korumaların teknik olarak nasıl aşılabildiğini bir sonraki (bonus) yazıda ele alacağız; bu da aslında bu korumaların neden hassas veriler için tek başına yeterli olmadığını gösteriyor.

Sırada Ne Var?

Serinin bonus yazısında, bu korumaların — kendi unuttuğunuz bir şifre söz konusu olduğunda — nasıl kaldırılabildiğine bakıyoruz.