Excel 2003保护工作表,不允许Excel 2000用户使用自动筛选器

时间:2011-09-29 08:16:01

标签: excel ms-office excel-2000

我已经为工作创建了一个电子表格,并且正在尝试保护工作表,以便除了我自己以外没有人可以编辑该文档。我已经进行了设置,以便我可以编辑文档的全部范围。在保护设置中,我勾选了表示任何用户都可以使用自动过滤器的框。

我在应用安全性之前设置了自动过滤器,所以这不是许多论坛建议的问题。但是我使用的是Excel 2003,而大多数组织都在使用Office 2000.我不禁想到这两个系统之间存在一些不兼容性。任何人都可以建议吗? VBA宏并不是一个真正的选项,因为组织中的默认设置是只能运行已签名的宏,但即使这样,它们也必须由最终用户进行验证(对于IT知识较低的用户来说非常烦人)。

有没有人知道如何使这项工作?

3 个答案:

答案 0 :(得分:0)

没有VBA 是不可能的。见http://office.microsoft.com/en-us/excel-help/enable-autofilter-functionality-for-a-protected-worksheet-HA001098270.aspx

  

默认情况下,当您保护部分或全部电子表格时,Excel中的自动筛选功能将不可用。如果使用Microsoft Office Excel 2003或Excel 2002,则可以手动还原该功能。如果使用Excel 2000,则需要使用几行MicrosoftVisualBasic®forApplications(VBA)代码。

     

使用VBA代码保护工作表并启用AutoFilter   Excel 2000中的功能

     

此处显示的示例代码保护工作表(不是工作簿)和   为该工作表启用AutoFilter功能。代码   仅适用于Excel 2000.此特定示例自动运行   当您打开包含受保护的工作表的工作簿时。该   代码还包含用于取消保护工作表的密码。

     

如果尚未启动,请启动Excel 2000,打开所需的工作簿,并记下要保护的工作表的名称。     在“工具”菜单上,指向“宏”,然后单击“Visual Basic编辑器”。

     

在Project Explorer中,双击ThisWorkbook。

     

在代码窗口中打开一个新的空白代码模块。

     

复制以下示例代码并将其粘贴到代码窗口中:

Private Sub Workbook_Open()
     Sheet1.Protect password:="test", DrawingObjects:=True, _
         contents:=True, Scenarios:=True, _
         userinterfaceonly:=True
     Sheet1.EnableAutoFilter = True End Sub

答案 1 :(得分:0)

组织是否允许为您自己和您的用户更改Excel中的默认安全设置?

如果没有,您可以轻松创建自己的宏签名。我认为它是Excel的可选安装组件,允许您根据您的PC或用户名创建签名?这与完整的Microsoft验证签名不同,但根据组织的设置,它可能允许您接受所有宏。

几年前,这在Excel 2000上对我有用,但我仍然需要让每个用户更改其安全设置。我想我还制作了一个宏来自动化每个用户的安全设置更改?如果我没记错的话。

答案 2 :(得分:0)

现在已经解决了。我们都致力于Office 2010。