2016-01-25 144 views
1

我想禁用單元格編輯(直接輸入到單元格),但要通過更新代碼,細胞不保護工作表禁止編輯,而不保護工作表的VBA

沒有人有任何想法?

+1

無法實現驗證? ?? –

+0

當你說'沒有保護工作表'時,你的意思是你不想在代碼運行後保護它嗎?這意味着它將處於用戶不受保護的狀態。 –

+0

保護具有「UserInterfaceOnly」選項,允許您使用典型的取消保護/重新保護步驟的代碼進行更新。 –

回答

0

在工作表中的代碼模塊:

Private Sub Worksheet_Change(ByVal Target As Range) 
    If Not Intersect(Range("A1:A10"), Target) Is Nothing Then 
     Application.EnableEvents = False 
     Target.ClearContents '// Assuming you want to keep it blank 
     Application.EnableEvents = True 
    End If 
End Sub 

然後在你的代碼,每當你想改變一個值,前手只是禁用事件:

'// Will be deleted 
Range("A5").Value = "TEST" 

'// Will not be deleted 
Application.EnableEvents = False 
Range("A5").Value = "TEST AGAIN" 
Application.EnableEvents = True 
相關問題