korunan sayfalarda makronun çalışmaması hk.

Katılım
1 Nisan 2007
Mesajlar
54
Beğeniler
0
Excel Vers. ve Dili
2016 türkçe
#1
Merhabalar ;

Dosya her açıldığında, özel sıralama yapılmaktadır. Fakat herhangi bir sütunu gizleyince ya da sayfayı korumak için şifre kullanınca bu makro çalışmamaktadır. Konunun uzmanı değilim, bu dosyayı da sizlerin yardımıyla hazırladım. O yüzden hazır bir çözüm konusunda destek verebilirseniz çok sevinirim.

https://www.dosyaupload.com/abkv

Saygılarımla
 

dalgalikur

Destek Ekibi
Destek Ekibi
Katılım
4 Haziran 2006
Mesajlar
1,986
Beğeniler
201
Excel Vers. ve Dili
2007-2013
#2
Merhaba.
Excel sayfalarını korumaya alınca kodlarda hata vermesi normaldir.
Hatayı gidermek için kodlar çalışmadan önce korumanın kaldırılması gerekir, kod sonunda yeniden koruma yapılabişlir.

Dosyanızda ki kodları silin aşağıdaki kodları kopyalayın. Şifre yazan yerlere kendi şifrenizi yazın.
Kod:
Private Sub Workbook_Open()
    With Worksheets("Stok")
        .Unprotect "şifre"
        .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:=9, Criteria1:=">0", Operator:=xlAnd
        .Protect "şifre"
    End With
End Sub
 
Katılım
1 Nisan 2007
Mesajlar
54
Beğeniler
0
Excel Vers. ve Dili
2016 türkçe
#3
Yardımınız için teşekkür ederim, çözüm işe yarıyor. Peki çalışma kitabını da aynı şekilde koruma altına almak istesem?
 

dalgalikur

Destek Ekibi
Destek Ekibi
Katılım
4 Haziran 2006
Mesajlar
1,986
Beğeniler
201
Excel Vers. ve Dili
2007-2013
#4
Evet yapabilirsiniz.

Kod:
    ThisWorkbook.Protect "şifre"
    ThisWorkbook.Unprotect "şifre"
 

dalgalikur

Destek Ekibi
Destek Ekibi
Katılım
4 Haziran 2006
Mesajlar
1,986
Beğeniler
201
Excel Vers. ve Dili
2007-2013
#6
Aşağıdaki gibi olabilir.
Kod:
Private Sub Workbook_Open()
    ThisWorkbook.Unprotect "şifre"
    With Worksheets("Stok")
        .Unprotect "şifre"
        .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:=9, Criteria1:=">0", Operator:=xlAnd
        .Protect "şifre"
    End With
    ThisWorkbook.Protect "şifre"
End Sub
 
Katılım
1 Nisan 2007
Mesajlar
54
Beğeniler
0
Excel Vers. ve Dili
2016 türkçe
#7
Aşağıdaki gibi olabilir.
Kod:
Private Sub Workbook_Open()
    ThisWorkbook.Unprotect "şifre"
    With Worksheets("Stok")
        .Unprotect "şifre"
        .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:=9, Criteria1:=">0", Operator:=xlAnd
        .Protect "şifre"
    End With
    ThisWorkbook.Protect "şifre"
End Sub
Tekrar Merhaba;
Tam istediğim çözüm oldu teşekkür ederim. Fakat sayfanın kodlarını herkes görüntüleyebildiği için, şifreler orda görünebiliyor. Bunun için bir çözüm var mıdır? Saygılarımla
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
7,203
Beğeniler
571
Excel Vers. ve Dili
32 Bit 2010 - İngilizce
#8
VBA projesine şifre koyun.... gerçi, meraklısı onu da halleder.....

.
 
Katılım
1 Nisan 2007
Mesajlar
54
Beğeniler
0
Excel Vers. ve Dili
2016 türkçe
#9
teşekkürler
 
Üst