Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.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中更改的活动行?_Excel_Vba_Locking_Row - Fatal编程技术网

如何使用VBA锁定Excel中更改的活动行?

如何使用VBA锁定Excel中更改的活动行?,excel,vba,locking,row,Excel,Vba,Locking,Row,我刚刚加入stackoverflow论坛,因为我正在努力解决使用VBA在Excel中锁定一行的问题。基本上需要做的是,当一行被填满时,它会自动锁定自己,以免将来发生更改。我使用了以下代码: N = Target.Row If Intersect(Target, Range("H:H")) Is Nothing Then Exit Sub If Not Target.Value >= 1 Then Exit Sub ActiveSheet.Unprotect Range("A" &

我刚刚加入stackoverflow论坛,因为我正在努力解决使用VBA在Excel中锁定一行的问题。
基本上需要做的是,当一行被填满时,它会自动锁定自己,以免将来发生更改。
我使用了以下代码

N = Target.Row
If Intersect(Target, Range("H:H")) Is Nothing Then Exit Sub
If Not Target.Value >= 1 Then Exit Sub
ActiveSheet.Unprotect
Range("A" & N & ":K" & N).Locked = True
ActiveSheet.Protect
Apllication-defined or object-defined error 
正在成功锁定活动行,但我收到一条错误消息

N = Target.Row
If Intersect(Target, Range("H:H")) Is Nothing Then Exit Sub
If Not Target.Value >= 1 Then Exit Sub
ActiveSheet.Unprotect
Range("A" & N & ":K" & N).Locked = True
ActiveSheet.Protect
Apllication-defined or object-defined error 
我想不出那错误的原因是什么。请帮忙


注意:代码插入到一个
大子工作表\u change

默认情况下,工作表上的所有单元格都被锁定。因此,当您应用
ActiveSheet.Protect
时,您将有效地锁定所有单元格

在工作表更改事件激活和工作表受到保护之前,您需要解锁潜在UsedRange或整个工作表中的所有单元格。这是一次性操作


要查看并手动解锁单元格,请选择一个区域,然后查看主页>单元格>格式>格式单元格。。。;否则,您可以解锁代码中的单元格,请参见

您在哪一行收到错误?在填充行并从下拉框中选择“H”值后,当前行将锁定。但是当我尝试输入数据时,我收到了上面的错误。谢谢你的回答,巴里!我已经这样做了,但仍然得到错误:应用程序定义的错误或对象定义的错误使用此mod,您的代码为我工作,没有代码错误。正如Mark所要求的,您在哪一行代码上得到错误问题是,当我试图修改一个不在锁定范围内的单元格并保护工作表时,我得到了错误。也就是说,我在H列中选择了一个大于1的值,该值锁定了当前行,当我试图修改下一行的单元格时,会出现错误。我希望我已经足够详细了。就像我说的对我有效,而你还没有说错误发生在哪一行!也许可以将您的工作表的完整代码发布给我们查看。