吉姆有一个工作簿,供公司中的多个人使用。他想知道是否存在一种方法,允许所有人将数据添加到一组单元格,但限制谁可以从单元格中删除数据。他有大约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 [限制谁可以删除数据]。