Kopya-yapıştırın pasif olması olayının devamı

Katılım
30 Mart 2008
Mesajlar
280
Excel Vers. ve Dili
Microsoft Office Excel 2003, Türkçe
Kopya yapıştırı aşağıdaki kodla açılışta pasif hale getirmekteyim.
Kod:
Sub auto_open()
    EnableControl 21, False 'Kes
    EnableControl 19, False ' Kopyala
    EnableControl 22, False ' Yapıştır
    EnableControl 755, False ' özelyapıştır
 
    Application.OnKey "^c", "yasakla"
    Application.OnKey "^v", "yasakla"
    Application.OnKey "^r", "yasakla"
    Application.OnKey "^d", "yasakla"
    Application.OnKey "^x", "yasakla"

    Application.CellDragAndDrop = False 'hücreyi çoğaltma ve taşıma
    CommandBars("ToolBar List").Enabled = False 'düzen menüsündeki ilgili menüleri gizle
End Sub
Kopyala yapıştırı pasif hale getirdiğim excel sayfasını kapatırkan yeniden aktif hale getirmek için aşağıdaki kodu kullanmaktayım.
Kod:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
    EnableControl 21, True 'Kes
    EnableControl 19, True ' Kopyala
    EnableControl 22, True ' Yapıştır
    EnableControl 755, True ' özelyapıştır
  
    Application.OnKey "^c"
    Application.OnKey "^v"
    Application.OnKey "^r"
    Application.OnKey "^d"
    Application.OnKey "^x"
   
    Application.CellDragAndDrop = True
End Sub
Kopyala yapıştırın pasif olduğu 2 veya daha fazla excel dosyası açıkken bu excel sayfalarından birini kapattığımda kopyala yapıştır aktif hale gelmektedir. Kopyalama yapıştırın pasif olduğu excel sayfası kapanırken eğer kopyala yapıştır açık olan başka bir excel sayfasında da pasifse kopyala yapıştırı aktif hale getirmemesini nasıl sağlarım?
 

uzmanamele

Uzman
Uzman
Katılım
26 Eylül 2007
Mesajlar
9,421
Excel Vers. ve Dili
excel 2010
Merhaba

Bu şekilde mi istiyorsunuz?
Kod:
Private Sub Workbook_Activate()
'call yasakla
End Sub
Private Sub Workbook_Deactivate()
'call yasakları_kaldır
End Sub
Private Sub Workbook_Open()
'Call yasakla
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
'call yasakları_kaldır
End Sub
 
Katılım
30 Mart 2008
Mesajlar
280
Excel Vers. ve Dili
Microsoft Office Excel 2003, Türkçe
Sayın uzmanamele elinize sağlık. Tam istediğim gibi olmuş. Ben bu çözümü neden düşnemediysem :)
 
Üst