• DİKKAT

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

Çalışma kitabını koru ve paylaş Hakkında

  • Konbuyu başlatan Konbuyu başlatan NIGRA
  • Başlangıç tarihi Başlangıç tarihi
Katılım
12 Şubat 2021
Mesajlar
111
Excel Vers. ve Dili
Excel2010
Çalışma kitabını koru ve paylaş seçeceği ile şifreleme yaptığımda dosyayı kaydedip kapatıyorum. Tekrar açtığımda;


Kod:
Private Sub Worksheet_Activate()
    Dim pvt As PivotTable
   
    Application.ScreenUpdating = False
   
    Sheets("Grafik").Unprotect Password:=1923
   
    For Each pvt In ActiveSheet.PivotTables
        pvt.PivotCache.Refresh
    Next pvt
   
    Sheets("Grafik").Protect Password:=1923, AllowUsingPivotTables:=True

    Application.ScreenUpdating = True
End Sub

Private Sub Worksheet_Deactivate()
   Application.OnKey "{del}"
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
   If Target.HasFormula Then
      Application.OnKey "{del}", ""
   Else
      Application.OnKey "{del}"
   End If
End Sub

bu makronun yazılı olduğu grafik isimli sayfaya her girdiğimde;

225972

bu uyarıyı veriyor.

Amacım, bu şifreleme ile makro kodlarının farklı bir kişi tarafından görünmesini engellemek. Çözüm yada farklı bir yol önerisi var mıdır?
 

Ekli dosyalar

sayfanın korumasını kaldırın ve paylaşımı kapatın . Hücreleri biçimlendir > Korumadan
Pivottable' da ve işlem yapılacak alanlardaki hücrelerin Kilit tikini kaldırın Formüllü alanlarda Gizli ve kilitli tikini seçin.

Sonra aşağıdaki kodları girip Yeniden sayfayı koruyup ,paylaşıma acabilirsiniz.

Kod:
 Private Sub Worksheet_Activate()
    Dim pvt As PivotTable
    
    Application.ScreenUpdating = False

    ActiveSheet.Unprotect Password:=1923, _
                          DrawingObjects:=False, _
                          Contents:=False, _
                          Scenarios:=False, _
                          AllowUsingPivotTables:=False
    
    For Each pvt In ActiveSheet.PivotTables
        pvt.PivotCache.Refresh
    Next pvt
    
    ActiveSheet.Protect Password:=1923, _
                        DrawingObjects:=True, _
                        Contents:=True, _
                        Scenarios:=True, _
                        AllowUsingPivotTables:=True
        
     Application.ScreenUpdating = True
End Sub

Kolay gelsin
 
sayfanın korumasını kaldırın ve paylaşımı kapatın . Hücreleri biçimlendir > Korumadan
Pivottable' da ve işlem yapılacak alanlardaki hücrelerin Kilit tikini kaldırın Formüllü alanlarda Gizli ve kilitli tikini seçin.

Sonra aşağıdaki kodları girip Yeniden sayfayı koruyup ,paylaşıma acabilirsiniz.

Kod:
 Private Sub Worksheet_Activate()
    Dim pvt As PivotTable
   
    Application.ScreenUpdating = False

    ActiveSheet.Unprotect Password:=1923, _
                          DrawingObjects:=False, _
                          Contents:=False, _
                          Scenarios:=False, _
                          AllowUsingPivotTables:=False
   
    For Each pvt In ActiveSheet.PivotTables
        pvt.PivotCache.Refresh
    Next pvt
   
    ActiveSheet.Protect Password:=1923, _
                        DrawingObjects:=True, _
                        Contents:=True, _
                        Scenarios:=True, _
                        AllowUsingPivotTables:=True
       
     Application.ScreenUpdating = True
End Sub

Kolay gelsin


Öncelikle paylaşımı kaldırdım, sonra korumayı kaldırdım. Sonra tüm hücreleri seçip sağ tıklayıp üstüne şu hücre biçimlendir koruma sekmesini bu hale getirdim.

225991

sonra sayfayı koruya tıklayıp sadece şunları tikli bıraktım.

225992

Sonra kaydedip sekme değişip grafik sekmesine geldiğimde de, koru ve paylaş dedikten sonra da önce de,

Şu hatayı veriyor.

225993
 
Makronun başına ;

On Error Resume Next

Sonuna;

On Error GoTo 0

ekleyerek denermisiniz.

(Scenarios satırını senaryo kullanmıyorsnanız silebilirsiniz.)
 
Makronun başına ;

On Error Resume Next

Sonuna;

On Error GoTo 0

ekleyerek denermisiniz.

(Scenarios satırını senaryo kullanmıyorsnanız silebilirsiniz.)


Kod:
Private Sub Worksheet_Activate()
On Error Resume Next  
Dim pvt As PivotTable
   
    Application.ScreenUpdating = False

    ActiveSheet.Unprotect Password:=1923, _
                          DrawingObjects:=False, _
                          Contents:=False, _
                          AllowUsingPivotTables:=False
  
    For Each pvt In ActiveSheet.PivotTables
        pvt.PivotCache.Refresh
    Next pvt
  
    ActiveSheet.Protect Password:=1923, _
                        DrawingObjects:=True, _
                        Contents:=True, _
                        AllowUsingPivotTables:=True
      
     Application.ScreenUpdating = True
On Error GoTo 0
End Sub


Bu şekilde mi acaba? Bu şekilde yaparsam ama sayfada yapılan değişikliklerde grafik sayfasındaki pivotlar güncellemiyor?
 
Son düzenleme:
On error dım satırından sonra
 
VBE de kodlarınızı şifreleyin paylaşıma açınca da Project unviewable olur . Bir nebze korur. Başka yapacak birşey yok .
 
Şu Makro kodlarını yazdığımız editor . Orayı açın. Yada sayfa adının üzerinde sağ tık yapıp Kod Görüntüleyi seçin açılsın.
Tools'u seçin > VBAProject properties seçin sonra Protection sekmesini tıklayın Lock Project for viewing çek edip şifrelerinizi girin
dosyayı kaydedip açın. sonrasında bu bölüme şifreyle girmeniz gerekir.
 
Şu Makro kodlarını yazdığımız editor . Orayı açın. Yada sayfa adının üzerinde sağ tık yapıp Kod Görüntüleyi seçin açılsın.
Tools'u seçin > VBAProject properties seçin sonra Protection sekmesini tıklayın Lock Project for viewing çek edip şifrelerinizi girin
dosyayı kaydedip açın. sonrasında bu bölüme şifreyle girmeniz gerekir.


Ancak bunun güvenli olmadığını hissettim söylediğinizden. Yanlış mı düşünüyorum?
 
Soran olursa Excelde güvenlik özelliği var mı var. Güvenli olup olmadığı tartışılır. Deneyip göreceksiniz en azından makrolarınızı gizlediniz. Böyle düşünün.
 
Bu arada yanlış bilmiyorsam PAYLAŞIMA açılmış dosyalarda makrolar çalışmıyor. Bilginiz olsun.
 
Soran olursa Excelde güvenlik özelliği var mı var. Güvenli olup olmadığı tartışılır. Deneyip göreceksiniz en azından makrolarınızı gizlediniz. Böyle düşünün.


Haklısınız, Şimdilik bu kafi. Teşekkür ederim ilginize
?

Bu arada yanlış bilmiyorsam PAYLAŞIMA açılmış dosyalarda makrolar çalışmıyor. Bilginiz olsun.

Abi amacım sayfadaki kod görüntüle kısmından sayfanın şifresinin görüntülenmesini engellemekti. Suskun beyin bahsettiği yöntemle bi nebze aştık.

Makroyu, makro ile, dll yazarak vb gizleme yolları var araştırdığım kadarıyla ama hem beni aştı. Hem de aşırı önem arz etmedi benim için.

Teşekkürler.
 
Excel dosyanızın içinde sanırım hazine var..
 
Excel dosyanızın içinde sanırım hazine var..

????

Abi aslında ilk grafikler üzerinde yanlışlıkla oynama yapılmasını engellemek amacıyla başladı. Sonra bu pivot tablo 3 soru konusunda senin yazdıgın kodda herşey sorunsuz çalışıyor. Ama bu seferde imleç dönüyor. derken biraz deşip ne yapsam diye bakarken konu buralara geldi. Amacım aslında dosya üzerinde nereye kadar gider ucu orayı zorlayıp öğrenmeye çalışıyorum. ? neyse ki bu da çözüldü. Yoksa hazine makro tarafında değil o kesin ??
 
Eğer koruma çok gerekli ise dosyanızı PDF formatına çevirip paylaşabilirsiniz. Böylece paylaştığınız kişiler sadece izleme işlemi yapmış olurlar.
 
Geri
Üst