我在做什么错误重置单元格值excel
就我而言,对于excel编程来说,这是一个非常新的东西,我弄清楚了一个macros,它可以帮助我validation单元格,如果另一个单元格中的值不允许,
Private Sub Worksheet_Change(ByVal Target As Range) ActiveSheet.Unprotect Range("W" & (ActiveCell.Row)).Locked = False Range("Y" & (ActiveCell.Row)).Locked = False Range("Z" & (ActiveCell.Row)).Locked = False Range("C" & (ActiveCell.Row)).Locked = False If Range("U" & (ActiveCell.Row)).Value = "Controlled Good" Then Range("W" & (ActiveCell.Row)).Locked = True End If
但是我想把没有想要的单元格的值重置为空,所以我试了一下
If Range("U" & (ActiveCell.Row)).Value = "Controlled Good" Then Range("W" & (ActiveCell.Row)).value="" Range("W" & (ActiveCell.Row)).Locked = True
但是我收到一个错误,我做错了什么?
谢谢
尝试这个
Private Sub Worksheet_Change(ByVal Target As Range) With ActiveSheet .Unprotect .Range("W" & (ActiveCell.Row)).Locked = False .Range("Y" & (ActiveCell.Row)).Locked = False .Range("Z" & (ActiveCell.Row)).Locked = False .Range("C" & (ActiveCell.Row)).Locked = False If .Range("U" & (ActiveCell.Row)).Value = "Controlled Good" Then .Range("W" & (ActiveCell.Row)).Value = "" .Range("W" & (ActiveCell.Row)).Locked = True End IF .Protect End With End If
在这里,我们去:)这也工作
If Range("U" & (Target.Row)).Value = "Controlled Good" Then Range("W" & (Target.Row)).Locked = True Application.EnableEvents = False Range("W" & (Target.Row)).Value = "" Application.EnableEvents = True End If
感谢MS Excel崩溃时运行vba代码