输入后自动保护(Microsoft Excel)
Excel为您的工作表提供保护,这意味着您可以保护单元格的内容,因此无法更改它们。 _ExcelTips_的其他问题中已经讨论了如何使用此保护。
如果您想允许单元格被编辑,但又希望有人在单元格中输入信息后立即对它们进行保护,那您该戴帽子吗?例如,您具有用户可以在其中输入信息的单元格,但是一旦输入,您就不希望他们具有更改他们输入的信息的能力。
Excel中没有固有的功能来保护输入后的输入,但是您可以通过使用宏来创建该功能。以下宏是如何执行此操作的示例:
Private Sub Worksheet_Change(ByVal Target As Range) Dim MyRange As Range Set MyRange = Intersect(Range("A1:D100"), Target) If Not MyRange Is Nothing Then Sheets("Sheet1").Unprotect password:="hello" MyRange.Locked = True Sheets("Sheet1").Protect password:="hello" End If End Sub
该宏假定工作表已经受到保护,并且希望输入的所有单元格都已解锁。
它所做的是检查输入是否在正确的单元格范围内完成,在这种情况下,此范围在A1:D100范围内。如果是这样,则工作表不受保护,刚刚输入信息的单元格被锁定,工作表再次受到保护。
如果您在自己的工作簿中使用此方法,则需要修改潜在的输入范围,并且需要更改用于取消保护和保护工作表的密码。
注意:
如果您想知道如何使用此页面(或_ExcelTips_网站上的任何其他页面)中描述的宏,我准备了一个特殊页面,其中包含有用的信息。
_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。
本技巧(10203)适用于Microsoft Excel 2007和2010。您可以在下面的Excel的较旧菜单界面中找到此技巧的版本: