我試圖保護我的工作簿上的單元格不被編輯。我寫了這段代碼,如何提高我的短VBA代碼如下?
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Application.EnableEvents = False
Application.Undo
Application.EnableEvents = True
End Sub
但是經過一些測試後,我發現了一個異常。如果我切割一個細胞並粘貼到另一個細胞,它是允許的!我不確定是否還有其他例外,我還沒有弄清楚。我的問題是如何保護正在編輯的單元格,但同時能夠被複制?
如果工作表受到保護(也就是您不希望更改的單元格),那麼我會在ctrl + x(或其他所有會更改單元格的值)....所以你使用哪個excel? –
我正在使用Excel 2013.我的代碼可以保護我不改變單元格的內容,但不會剪切它並粘貼到另一個地方。對於您的解決方案,我如何保護所有牀單?似乎我必須逐一去查看>保護表單,如果我有很多表單,這真的很麻煩。@ DirkReichel – Nicholas
是的,如果您使用Excel的內置保護表單,它可以正常工作。但是除非有一個解決方案來一次性應用所有的表格,否則我寧願使用一個簡短的VBA代碼。但是,我目前的代碼有一些問題。 – Nicholas