一旦数据输入到一个单元格中,我需要使用VBA代码来锁定特定的一组单元格。上下文:用户将沿着一行输入用户名,传递等。该行中的一些单元格被锁定,并且一些单元格被解锁以用于他们需要输入数据的位置,但是一旦他们在最后一个单元格中回答了他们的数据,我想该行中的所有先前未锁定的单元格将被锁定。将数据输入到一个单元格后锁定特定的单元格组
如果没有它一遍又一遍地更新和锁定单元格,我很难解决这个问题。这就是我现在所拥有的。
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
ActiveCell.Select
If Range("O22") <> "" Then
ActiveSheet.Unprotect
Range("F22,G22,J22,K22,L22,O22").Select
Selection.Locked = True
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End If
End Sub
**从不**在Worksheet_Change或Workbook_SheetChange事件过程中使用ActiveCell。它不仅通常不准确,而且单元格的值可以通过打字以外的其他方式进行更改。 – Jeeped