我有一个非常基本的要求,但我不知道如何编码。 我要找的是,如果单元格> = 1,则不要在特定范围(“J10:J1000”)中进行任何更改。如果那是有道理的。
因此,从J10到J1000的任何单元格都可以变为任何数量,如果它是0,但如果它大于0,那么我想显示并显示消息“抱歉!改变不可能发生。”
答案 0 :(得分:0)
试一试。 将以下代码放在图纸模块上。
要执行此操作,请右键单击工作表标签 - >查看代码并将下面给出的代码粘贴到打开的代码窗口中 - >将工作簿另存为启用宏的工作簿。
Dim oVal
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo SkipError
Application.EnableEvents = False
If Not Intersect(Target, Range("J10:J1000")) Is Nothing Then
If Target.CountLarge > 1 Then
Application.Undo
Else
If oVal > 0 Then
Application.Undo
Target.Offset(1, 0).Select
MsgBox "Sorry! you cannot change the cell content.", vbExclamation, "Change Not Allowed!"
End If
End If
End If
SkipError:
Application.EnableEvents = True
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.CountLarge > 1 Then Exit Sub
If Not Intersect(Target, Range("J10:J1000")) Is Nothing Then
oVal = Target.Value
End If
End Sub