如何使用VBA锁定Excel中更改的活动行?
我刚刚加入stackoverflow论坛,因为我正在努力解决使用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" &
基本上需要做的是,当一行被填满时,它会自动锁定自己,以免将来发生更改。
我使用了以下代码:
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的值,该值锁定了当前行,当我试图修改下一行的单元格时,会出现错误。我希望我已经足够详细了。就像我说的对我有效,而你还没有说错误发生在哪一行!也许可以将您的工作表的完整代码发布给我们查看。