2016-01-25 143 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 
相关问题