Bu eğitim size VBA'da Excel Çalışma Sayfası koruması hakkında her şeyi öğretecektir - Excel'de Çalışma Sayfalarını Koruma veya Korumayı Kaldırma.
Parola Olmadan Excel Çalışma Sayfasının Korumasını Kaldırın
Parola korumalı olmayan bir Çalışma Sayfasının korumasını kaldırmak için bu basit kod satırını kullanın:
1 | Çalışma Sayfaları("Sayfa1").Korumayı kaldır |
Excel Çalışma Sayfasının Korumasını Parola ile Kaldır
Parola korumalı bir Çalışma Sayfasının korumasını kaldırmak için parolayı da girmeniz gerekir:
1 | Çalışma Sayfaları ("Sayfa1"). "Parola" korumasını kaldırın |
Korumayı Kaldır Sayfa - Kayıp Parola
Parolayı bilmeden bir Çalışma Sayfasının korumasını kaldırmak için bir parola kurtarma eklentisi kullanmanız gerekir.
Çalışma Sayfalarını Koru
Çalışma Sayfası Koruması, sayfanın belirli yönlerini düzenlemeye karşı kilitlemenizi sağlar.
Bu menü şurada bulunur: Ana Sayfa > Biçim > Sayfayı koru veya Sayfa sekmesi adına sağ tıklayarak:
En yaygın olarak bu, "Kilitli" hücreleri düzenlemeden korumak için kullanılır ve yalnızca son kullanıcının belirli hücreleri düzenlemesine izin verir.
Hücreleri seçip açarak kilitleyebilirsiniz. Koruma sekmesi arasında Hücre Biçimlendirme Menüsü (CTRL + 1).
Ayrıca kullanıcının çalışma sayfası yapısını değiştirmesini (Satırları ve Sütunları ekleme, silme veya yeniden boyutlandırma) veya Otomatik Filtrelerle etkileşim kurmasını ve çok daha fazlasını engelleyebilirsiniz.
Çalışma Sayfasını Koru - Parola Olmadan
Bir Çalışma Sayfasını parola girmeden korumak isteyebilirsiniz. Bu, kullanıcıya istenirse değişiklik yapma erişimi verirken, çalışma sayfasında yanlışlıkla değişiklik yapılmasını önler.
1 | Çalışma Sayfaları("Sayfa1").Koru |
Çalışma Sayfasını Koru - Parola Koruması
1 | Çalışma Sayfaları ("Sayfa1"). "Parolayı" koruyun |
Çalışma Sayfası Ayarlarını Koru
Yukarıdaki örnekler, Çalışma Sayfalarını standart koruma ayarlarıyla koruyacaktır. Bunun yerine, korunanları özelleştirmek isteyebilirsiniz:
12345 | Worksheets("Sheet1").Protect Password:=strPassword, DrawingObjects:=True, Contents:=True, Scenarios:=True, _UserInterfaceOnly:=True, AllowFormattingCells:=False, AllowFormattingColumns:=Yanlış, _AllowFormattingRows:=Yanlış, AllowInsertingColumns:=Yanlış, AllowInsertingRows:=Yanlış, _AllowInsertingHyperlinks:=Yanlış, AllowDeletingColumns:=Yanlış, AllowDeletingRows:=Yanlış, _AllowSorting:=Yanlış, AllowFiltering:=Yanlış, AllowUsingPivotTables:=Yanlış |
Yukarıdaki sözdizimini kullanmak yerine, istediğiniz ayarlarla (yukarıdaki Çalışma Sayfası Koruma menüsü ile seçilen) bir Makro kaydetmenizi ve kaydedilen kodu prosedürünüze kopyalayıp yapıştırmanızı öneririm.
Sayfayı Koru - VBA'nın Değişiklik Yapmasına İzin Ver
Varsayılan olarak, bir sayfayı koruduğunuzda, koruma, kullanıcı eylemlerine ek olarak VBA işlemleri için de geçerlidir. VBA kilitli bir hücreyi değiştirmeye çalışırsa, 1004 çalışma zamanı hatası görürsünüz. Bunu önlemek için, VBA'nın onlarla etkileşime girmesi gerektiğinde çalışma sayfalarınızın korumasını kaldırabilir ve yeniden koruyabilirsiniz:
123456789 | Alt Edit_Sheet1()'Sayfa1'in korumasını kaldırÇalışma Sayfaları("Sayfa1").Korumayı kaldır'Sayfa1'e Bir Şey Yapın'Sayfa1'i yeniden koruÇalışma Sayfaları("Sayfa1").KoruAlt Bitiş |
Ancak, çalışma sayfalarınızın korumasını kaldırmayı ve/veya yeniden korumayı unutmak kolaydır. Bu, bir kodlama hatası olasılığını artırabilir.
Bunun yerine UserInterFaceOnly ayarını kullanabilirsiniz. DOĞRU olduğunda, çalışma sayfaları VBA'dan DEĞİL, YALNIZCA kullanıcılardan korunacaktır.VBA kodunuz, çalışma sayfasını kilidi açılmış gibi düzenlemek için ücretsiz olacaktır.
UserInterFaceOnly hakkında iki önemli nokta:
- Bu ayar, Çalışma Sayfası Koruması menüsünde (yukarıda gösterilmiştir) kullanılamaz. VBA'da tanımlanması gereken bir ayardır.
- Bir çalışma kitabını kapattığınızda ayar kaydedilmez. Çalışma kitabı her açıldığında yeniden tanımlanmalıdır.
Bu yüzden UserInterFaceOnly özelliğini ayarlamak için ThisWorkbook modülüne aşağıdaki Workbook_Open olay prosedürünü yerleştirmelisiniz:
1234567 | Özel Alt Çalışma Kitabı_Open()Dim ws As Çalışma SayfasıThisWorkbook.Worksheets'teki Her ws içinws.Protect UserInterfaceOnly:=DoğruSonrakiAlt Bitiş |
Workbook_Open, çalışma kitabı her açıldığında çalışacak özel bir olay prosedürüdür. ThisWorkbook modülüne yerleştirilmelidir. Alternatif olarak, Auto_Open olay prosedürünü kullanabilirsiniz (burada ele alınmamıştır).
Tüm Sayfalar Makro Korumasını Kaldır
Bu Makro, bir çalışma kitabındaki tüm Sayfaların korumasını kaldırır:
123456789 | ' Tüm Çalışma Sayfalarının Korumasını KaldırAlt UnProtectAllSheets()Dim ws As Çalışma SayfasıÇalışma Sayfalarında Her ws içinws. "Parola" korumasını kaldırınSonrakiAlt Bitiş |
Tüm Sayfa Makrosunu Koru
Bu Makro, bir Çalışma Kitabındaki tüm Sayfaları koruyacaktır:
123456789 | ' Tüm Çalışma Sayfalarını KoruAlt ProtectAllSheets()Dim ws As Çalışma SayfasıÇalışma Sayfalarında Her ws içinws.Protect "parola"SonrakiAlt Bitiş |