Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 我';我在重置单元格值excel中出错_Vba_Excel - Fatal编程技术网

Vba 我';我在重置单元格值excel中出错

Vba 我';我在重置单元格值excel中出错,vba,excel,Vba,Excel,由于我是excel编程的新手,我想出了一个宏来帮助我验证单元格,并在另一个单元格中的值不允许时将单元格设置为false Private Sub Worksheet_Change(ByVal Target As Range) ActiveSheet.Unprotect Range("W" & (ActiveCell.Row)).Locked = False Range("Y" & (ActiveCell.Row)).Locked = False Range("Z" &

由于我是excel编程的新手,我想出了一个宏来帮助我验证单元格,并在另一个单元格中的值不允许时将单元格设置为false

   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
但是我想把none-want单元格的值重置为空,所以我尝试了

 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

多亏了

将所有ActiveCell.Row更改为Target.Row时会发生什么?将让您开始…@ChicagoExcelUser Hi,相同的错误是:对象“范围”的方法“锁定”failed@SiddharthRout这似乎奏效了!我将对其进行验证,并在Im 100%确定其正常工作后将其发布为已解决的应用程序。EnableEvents=False范围(“W”&(Target.Row))。Value=”“Application.EnableEvents=True@napi15:干得好!:)是的!我发现事实上我必须关闭应用程序事件,就像这个application.EnableEvents=False范围(“W”&(Target.Row)).Value=”“application.EnableEvents=true这样才有意义。否则它将继续循环。