2016-09-15 128 views
0

我已經使用密碼保護了我的表單,並且我嘗試使用運行代碼的按鈕在另一個單元格中複製和粘貼某些內容,但是當我按下按鈕時,它說我無法做任何事情,因爲工作表被密碼保護。如何在代碼運行後使用按鈕並重新保護工作表? 下面是命令按鈕的代碼取消保護單元格

Private Sub CommandButton7_Click() 

'-----Output(FR) button------ 

'French Note 
Range("P11").Select Selection.Copy 
Range("P12").Select 
Selection.PasteSpecial Paste:=xlPasteValues 
CheckSpelling 


End Sub 
+1

使用[Worksheet.Protect方法(https://msdn.microsoft.com/en-us/library/office/ff840611.aspx)與'UserInterfaceOnly:= True'參數。 – Jeeped

+0

還有一種使用類模塊解除工作表保護的方法,只要類實例關閉,它就會重新保護工作表。沒有提供答覆,因爲我不記得細節,並且找不到我從哪裏拿過程。如果有人回憶並且有文件,您可以分享。 – nbayly

回答

0

讓我們假設P12鎖定版和片材是受保護的。我們不保護,進行更改,然後重新保護:

Sub CommandButton7_Click() 
    ActiveSheet.Unprotect Password = "obvious" 
    Range("P11").Select 
    Selection.Copy 
    Range("P12").Select 
    Selection.PasteSpecial Paste:=xlPasteValues 
    Selection.CheckSpelling 
    ActiveSheet.Protect Password = "obvious" 
End Sub