AccessTr.neT
Userformdan Korumalı Sayfaya Veri Kaydetme Hakkında - Baskı Önizleme

+- AccessTr.neT (https://accesstr.net)
+-- Forum: Microsoft Excel (https://accesstr.net/forum-microsoft-excel.html)
+--- Forum: Excel Cevaplanmış Soruları (https://accesstr.net/forum-excel-cevaplanmis-sorulari.html)
+--- Konu Başlığı: Userformdan Korumalı Sayfaya Veri Kaydetme Hakkında (/konu-userformdan-korumali-sayfaya-veri-kaydetme-hakkinda.html)

Sayfalar: 1 2


Userformdan Korumalı Sayfaya Veri Kaydetme Hakkında - Oğuz Türkyılmaz - 22/02/2021

Merhaba Herkese sağlıklı günler dilerim.
Excel dosyamda Userform üzerinden Ana Sayfa sekmesindeki tabloya veri kaydediyorum. Yapmak isteyip de çözemediğim şey Ana Sayfa sekmesine sayfa koruma koymak istiyorum fakat koyduğumda Userform üzerinden kayıt yaptırmıyor haliyle. Korumalı bir sayfaya userform üzerinden kayıt eklemenin ve bu korumalı sayfada istendiğinde verileri filtreletmenin bir yolu var mı? Teşekkürler.


RE: Userformdan Korumalı Sayfaya Veri Kaydetme Hakkında - atoykan - 22/02/2021

Form açılırken sayfa korumasını kod ile kaldırın işlem bitince yeniden korumaya alın. Arşivimde benzer konuya ilişkin eski bir kod buldum, benzer bir yapı uygulayabilirsiniz.

Const PW As String = "password" '<-password yazan yere şifrenizi uygulayın
On Error GoTo exit_proc
With ActiveSheet
.Unprotect PW
    .ShowDataForm
exit_proc:
    .Protect PW
    End With
End Sub

veya userinterface özeliğinden aşağıdakine benzer bir kod ile fayda sağlayabilirsiniz.

Private Sub Workbook_Open()
Dim wks As Worksheet
    For Each wks In ActiveWorkbook.Worksheets
      wks.Protect , UserInterfaceOnly:=True
    Next wks
End Sub



RE: Userformdan Korumalı Sayfaya Veri Kaydetme Hakkında - feraz - 22/02/2021

ThisWorkbook.Worksheets("Ana Sayfa").Unprotect "sifre"
Kayıt ekleme kodunu ılk satırına yukardaki end sub tan önceki satırada alttaki kodu ekleyin.Tabii sifre yerine istediğiniz yazılacak.
ThisWorkbook.Worksheets("Ana Sayfa").Protect "sifre"



RE: Userformdan Korumalı Sayfaya Veri Kaydetme Hakkında - Oğuz Türkyılmaz - 23/02/2021

(22/02/2021, 23:09)feraz yazdı:
ThisWorkbook.Worksheets("Ana Sayfa").Unprotect "sifre"
Kayıt ekleme kodunu ılk satırına yukardaki end sub tan önceki satırada alttaki kodu ekleyin.Tabii sifre yerine istediğiniz yazılacak.
ThisWorkbook.Worksheets("Ana Sayfa").Protect "sifre"

Feraz Bey çok teşekkür ederim. Gayet basitçe hallolmuş.Sağolun.

(22/02/2021, 21:32)atoykan yazdı: Form açılırken sayfa korumasını kod ile kaldırın işlem bitince yeniden korumaya alın. Arşivimde benzer konuya ilişkin eski bir kod buldum, benzer bir yapı uygulayabilirsiniz.

Const PW As String = "password" '<-password yazan yere şifrenizi uygulayın
On Error GoTo exit_proc
With ActiveSheet
.Unprotect PW
    .ShowDataForm
exit_proc:
    .Protect PW
    End With
End Sub

veya userinterface özeliğinden aşağıdakine benzer bir kod ile fayda sağlayabilirsiniz.

Private Sub Workbook_Open()
Dim wks As Worksheet
    For Each wks In ActiveWorkbook.Worksheets
      wks.Protect , UserInterfaceOnly:=True
    Next wks
End Sub

Dediğiniz gibi Feraz hocamın kodu işi çözdü. Sağolun.


RE: Userformdan Korumalı Sayfaya Veri Kaydetme Hakkında - feraz - 23/02/2021

Rica ederiz abey.Kayıt ekleme,sil vs.. için tek tek eklemektense bir modüldeki sub içine unprotect olanı başka bir sub içinede protect olanı eklerseniz kodu çağırırken basit olur.Tabii workbook.open içinede yazarsanız açılışta kilitlenir abey.Biraz karışık anlattım ama durum bu Img-grin


RE: Userformdan Korumalı Sayfaya Veri Kaydetme Hakkında - feraz - 23/02/2021

Yani boş bir modüle alttaki gibi eklerseniz
Çağırken kilitac  ve kilitle olarak çağırabilirsiniz kodların ilgili yerlerine
Belki mobilden hatalı yazmış olabilirim

Public Sub kilitle()
ThisWorkbook.Worksheets("Ana Sayfa").protect "sifre"
End sub

Public Sub kilitac()
ThisWorkbook.Worksheets("Ana Sayfa").Unprotect "sifre"
End sub