sayfa koruması yapılmış yazdırma makrosu sorunu (1004)

Katılım
6 Nisan 2006
Mesajlar
50
Excel Vers. ve Dili
Excel 2003
Aşağıdaki makro ile aynı sayfadaki farklı hücreleri yazdırıyorum sayfa koruması yaptığımda " run time eror '1004'; " hatası veriyor sayfa korumasını kaldırınca normal yazıyor (bazı hücreleri kilitli hale getiridim) yardımcı olurmusunuz.


Kod:
Sub yazdır_A_Tıklat()
ActiveSheet.PageSetup.PrintArea = "$b$1:$k$54"
  Range("B7:K9 , B10:D14 , K10:K14 , B16:D20 , K16:K20 , B22:D26 , K22:K26 , B28:D30 , K28:K30 , B32, K32, B34:D36 , K34:K36 , B38:D41 , K38:K41 , B43, K43, B45, K45, B47:D53 , K47:K53 , B54:K54").Interior.ColorIndex = xlNone
ActiveSheet.PrintOut
  Range("B7:K9 , B10:D14 , K10:K14 , B16:D20 , K16:K20 , B22:D26 , K22:K26 , B28:D30 , K28:K30 , B32, K32, B34:D36 , K34:K36 , B38:D41 , K38:K41 , B43, K43, B45, K45, B47:D53 , K47:K53 , B54:K54").Interior.ColorIndex = 24
End Sub


Sub yazdır_B_Tıklat()
ActiveSheet.PageSetup.PrintArea = "$M$65:$W$122"
  Range("O68:P92,O94:P99,O101:P102").Interior.ColorIndex = xlNone
  Range("M65:W67,N68:N92,N94:N99,N101:N102,N103").Interior.ColorIndex = x1none
  ActiveSheet.PrintOut
  Range("M65:W67,N68:N92,N94:N99,N101:N102,N103").Interior.ColorIndex = 24
  Range("O68:P92,O94:P99,O101:P102").Interior.ColorIndex = 1
  
  
End Sub
 
Katılım
14 Şubat 2006
Mesajlar
3,426
Excel Vers. ve Dili
(Excel 2016 - İngilizce)
Altın Üyelik Bitiş Tarihi
30-11-2022
Doğal olarak makro kilitli sayfaya yazamadığı için hata veriyor.

Size tavsiyem makronuzun başına ActiveSheet.UnPotect "xxx" , sonuna ise ActiveSheet.Potect "xxx" kodlarını eklemenizdir.
Bu şekilde makronuz çalışmadan önce sayfanın şifresini kaldıracak, işlem bittikten sonrada sayfa şifresini tekrardan oluşturacaktır.

Makronuzun işlem yaptığı hücrelerin kilitli olmamasınıda kontrol edebilirsiniz.
 
Katılım
6 Nisan 2006
Mesajlar
50
Excel Vers. ve Dili
Excel 2003
sn ripek
Kod:
Sub yazdır_A_Tıklat()
ActiveSheet.Unprotect "1"
ActiveSheet.PageSetup.PrintArea = "$b$1:$k$54"
  Range("B7:K9 , B10:D14 , K10:K14 , B16:D20 , K16:K20 , B22:D26 , K22:K26 , B28:D30 , K28:K30 , B32, K32, B34:D36 , K34:K36 , B38:D41 , K38:K41 , B43, K43, B45, K45, B47:D53 , K47:K53 , B54:K54").Interior.ColorIndex = xlNone
ActiveSheet.PrintOut
  Range("B7:K9 , B10:D14 , K10:K14 , B16:D20 , K16:K20 , B22:D26 , K22:K26 , B28:D30 , K28:K30 , B32, K32, B34:D36 , K34:K36 , B38:D41 , K38:K41 , B43, K43, B45, K45, B47:D53 , K47:K53 , B54:K54").Interior.ColorIndex = 24
ActiveSheet.Protect "1"
End Sub


Sub yazdır_B_Tıklat()
ActiveSheet.Unprotect "1"
ActiveSheet.PageSetup.PrintArea = "$M$65:$W$122"
  Range("O68:P92,O94:P99,O101:P102").Interior.ColorIndex = xlNone
  Range("M65:W67,N68:N92,N94:N99,N101:N102,N103").Interior.ColorIndex = x1none
  ActiveSheet.PrintOut
  Range("M65:W67,N68:N92,N94:N99,N101:N102,N103").Interior.ColorIndex = 24
  Range("O68:P92,O94:P99,O101:P102").Interior.ColorIndex = 1
  ActiveSheet.Protect "1"
  
  
End Sub
 
Katılım
6 Nisan 2006
Mesajlar
50
Excel Vers. ve Dili
Excel 2003
verdiğin kodları üstte verdiğim şekilde düzelltim ve oldu teşekkür ederim.
 
Üst