只要在A1选No的时候B1,B2清除数值就可以了,不必要那么复杂。
在表格Change事件中写入代码:
Private Sub Worksheet_Change(ByVal Target As Range)
With Target
If .Address = "$A$1" Then
If .Value = "No" Then
Range("B1:B2").Value = ""
End If
End If
End With
End Sub
解释:A1制作成有效性序列Yas,No;每当A1选择一次No的时候B1,B2自动清除。
这个可以通过插入两个选项按钮来实现,一个yes一个no
再分别插入两个模块,一个是yes指定的宏,一个是no指定的宏
Sub yes选项()
ActiveSheet.Protect DrawingObjects:=False, Contents:=False, Scenarios:=False
End Sub
Sub no选项()
ActiveSheet.Protect DrawingObjects:=False, Contents:=False, Scenarios:=False
Range("B1:B2").Select
Selection.ClearContents
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub
这样就可以实现你想要的功能了,希望能帮到你