• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

sayfayı korumaya alınca makro çalışmıyor

  • Konbuyu başlatan Konbuyu başlatan eterr
  • Başlangıç tarihi Başlangıç tarihi
Katılım
1 Nisan 2007
Mesajlar
54
Excel Vers. ve Dili
2016 türkçe
Selam Arkadaşlar ;

Dosyayı her açtığımda otomatik çalışan bir makrom var. Sayfayı korumaya almam gerekiyor malesef bu sefer de makro çalışmıyor.

Yardımınızı rica ederim, dosya ektedir.
 

Ekli dosyalar

Merhaba,
Private Sub Workbook_Open kodlarında

With Worksheets("Stok")
.Select


satırından sonra ActiveSheet.Unprotect "1" satırını ve End With satırından önce ActiveSheet.Protect "1" satırını ekleyiniz.
"1" ifadesindeki 1, sayfaya verilecek olan şifredir.
 
Kod:
Private Sub Workbook_Open()
Worksheets("Stok").Unprotect "Şifreniz"
    With Worksheets("Stok")
        .Select
        If .FilterMode Then .ShowAllData
   
        With .ListObjects("Tablo1").Sort.SortFields
            .Clear
            .Add Key:=Range("Tablo1[Marka]"), Order:=xlAscending
            .Add Key:=Range("Tablo1[Kategori]"), Order:=xlAscending
            .Add Key:=Range("Tablo1[Alt Kategori]"), Order:=xlAscending
            .Add Key:=Range("Tablo1[Alt Kategori 2]"), Order:=xlAscending
            .Add Key:=Range("Tablo1[Stok]"), Order:=xlDescending
        End With
   
        With .ListObjects("Tablo1").Sort
            .Header = xlYes
            .MatchCase = False
            .Orientation = xlTopToBottom
            .SortMethod = xlPinYin
            .Apply
        End With
   
        .ListObjects("Tablo1").Range.AutoFilter Field:=10, Criteria1:=">0", Operator:=xlAnd
    End With
Worksheets("Stok").Protect "Şifreniz"
End Sub
 
Kod:
Private Sub Workbook_Open()
Worksheets("Stok").Unprotect "Şifreniz"
    With Worksheets("Stok")
        .Select
        If .FilterMode Then .ShowAllData
 
        With .ListObjects("Tablo1").Sort.SortFields
            .Clear
            .Add Key:=Range("Tablo1[Marka]"), Order:=xlAscending
            .Add Key:=Range("Tablo1[Kategori]"), Order:=xlAscending
            .Add Key:=Range("Tablo1[Alt Kategori]"), Order:=xlAscending
            .Add Key:=Range("Tablo1[Alt Kategori 2]"), Order:=xlAscending
            .Add Key:=Range("Tablo1[Stok]"), Order:=xlDescending
        End With
 
        With .ListObjects("Tablo1").Sort
            .Header = xlYes
            .MatchCase = False
            .Orientation = xlTopToBottom
            .SortMethod = xlPinYin
            .Apply
        End With
 
        .ListObjects("Tablo1").Range.AutoFilter Field:=10, Criteria1:=">0", Operator:=xlAnd
    End With
Worksheets("Stok").Protect "Şifreniz"
End Sub
Kod:
Private Sub Workbook_Open()
Worksheets("Stok").Unprotect "Şifreniz"
    With Worksheets("Stok")
        .Select
        If .FilterMode Then .ShowAllData
  
        With .ListObjects("Tablo1").Sort.SortFields
            .Clear
            .Add Key:=Range("Tablo1[Marka]"), Order:=xlAscending
            .Add Key:=Range("Tablo1[Kategori]"), Order:=xlAscending
            .Add Key:=Range("Tablo1[Alt Kategori]"), Order:=xlAscending
            .Add Key:=Range("Tablo1[Alt Kategori 2]"), Order:=xlAscending
            .Add Key:=Range("Tablo1[Stok]"), Order:=xlDescending
        End With
  
        With .ListObjects("Tablo1").Sort
            .Header = xlYes
            .MatchCase = False
            .Orientation = xlTopToBottom
            .SortMethod = xlPinYin
            .Apply
        End With
  
        .ListObjects("Tablo1").Range.AutoFilter Field:=10, Criteria1:=">0", Operator:=xlAnd
    End With
Worksheets("Stok").Protect "Şifreniz"
End Sub
Cevabınız için teşekkür ederim. Peki stok sayfasını da gizleyip kitabı korumaya almak istesem ?
 
Merhaba.

Makroların işlem yapabilmesi için sayfaların genellikle görünür olmasına ihtiyaç yok.
Yeterki kullanılan kodlarda ....Select, .... Activate gibi kod satırları olmasın.
Örneğin;
Sheets("Sayfa1").Activate
[A1].Select
[A1]=1
kod satırları yerine Sheets("Sayfa1").[A1]=1 şeklinde bir satır yeterlidir.
Dolayısıyla esas olarak makrolar, gizli sayfalarda da işlem yapabilir.
.
 
Merhaba.

Makroların işlem yapabilmesi için sayfaların genellikle görünür olmasına ihtiyaç yok.
Yeterki kullanılan kodlarda ....Select, .... Activate gibi kod satırları olmasın.
Örneğin;
Sheets("Sayfa1").Activate
[A1].Select
[A1]=1
kod satırları yerine Sheets("Sayfa1").[A1]=1 şeklinde bir satır yeterlidir.
Dolayısıyla esas olarak makrolar, gizli sayfalarda da işlem yapabilir.
.

Cevabınızı tam anlayamadım. Yeterli kod yazma bilgisine sahip değilim. Çalışma sayfalarını istediğim gibi gizleyebileceğim şekilde bir örnek paylaşmanız mümkün müdür ?

Saygılarımla
 
Cevabınızı tam anlayamadım. Yeterli kod yazma bilgisine sahip değilim. Çalışma sayfalarını istediğim gibi gizleyebileceğim şekilde bir örnek paylaşmanız mümkün müdür ?

Saygılarımla
Konu hakkında yardım rica ederim. Esas olarak yapmak istediğim dosya her açıldığında makro çalışırken, sayfa ve kitap gizleyerek şifre koyabilmek. Şifrelemeyi kod satırıyla değil, excel in yönergeleri üzerinden yapmak istiyorum. Dolayısıyla select komutunu kullanmadan makro kullanılması öneriniz yardımcı olacaktır sanırım. Sadece ilgili kodu yazmak için yardımınıza ihtiyacım var. Şimdiden teşekkür ederim.
 
Son düzenleme:
Sanırım bu konuda destek alamayacağım. İlginize teşekkürler
 
Merhaba.

Ekteki belgede yer alan uygulamayı inceleyiniz, denemeler yapınız.
Belgeye, fareyle BURAYA tıklayarak da erişebilirsiniz.
.
 

Ekli dosyalar

Son düzenleme:
Geri
Üst