限制谁可以删除数据(Microsoft Excel)
吉姆有一个工作簿,供公司中的多个人使用。他想知道是否存在一种方法,允许所有人将数据添加到一组单元格,但限制谁可以从单元格中删除数据。他有大约50个小组,他希望能够添加数据,但是他只想给2个人提供删除功能。
您可以尝试多种基于宏的解决方案。本质上,您需要一个宏来检测何时删除了信息,然后检查删除该信息的人是否有权这样做。以下是解决该问题的一种可能方法:
Private Sub Worksheet_Change(ByVal Target As Range) Dim sPassCheck As String Dim rng As Range Dim sTemp As String Dim sPassword As String sPassword = "Password" sTemp = "You must enter the password to delete data" 'Use to set a single cell if more than one cell is 'in the target range If Target.Count > 1 Then Set rng = Target.Cells(1, 1) Else Set rng = Target End If If rng.Value = "" Then sPassCheck = InputBox(sTemp, "Delete check!") Application.EnableEvents = False If sPassCheck <> sPassword Then Application.Undo End If Application.EnableEvents = True End Sub
该宏实际上是一个事件处理程序,只要工作表中的某些内容发生更改,就会触发该宏,以检查是否删除了单元格(或范围内左上角的单元格)中的信息。如果是这样,则要求用户输入密码。如果此人没有密码,那么将调用Undo方法来“撤消”该人的删除。 (您希望将分配给sPassword变量的密码更改为您希望人们使用的实际密码。)
另一个选择是使用可以为您解决安全问题的Excel加载项。一些订户建议使用A-Tools,它有免费版或专业版(收费版)。您可以在这里找到有关此加载项的更多信息:
http://www.atoolspro.com/
显然,A-Tools允许您将各种安全功能应用于驻留在网络上的Excel数据。 (吉姆很有可能在网络上共享他的工作簿,因为他的公司中很多人都使用它。)
注意:
如果您想知道如何使用此页面(或_ExcelTips_网站上的任何其他页面)中描述的宏,我准备了一个特殊页面,其中包含有用的信息。
_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。
本技巧(11597)适用于Microsoft Excel 97、2000、2002和2003。您可以在以下位置找到适用于Excel功能区界面(Excel 2007和更高版本)的本技巧的版本:
链接:/ excelribbon-Limiting_Who_Can_Delete_Data [限制谁可以删除数据]。