0

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

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

有谁知道使这项工作的方法?

4

3 回答 3

0

现在解决了。我们都在使用 Office 2010。

于 2012-06-16T22:08:21.790 回答
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,则需要使用几行 Microsoft Visual Basic® for Applications (VBA) 代码。

使用 VBA 代码保护工作表并在 Excel 2000 中启用自动筛选功能

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

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

在项目资源管理器中,双击 ThisWorkbook。

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

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

Private Sub Workbook_Open()
     Sheet1.Protect password:="test", DrawingObjects:=True, _
         contents:=True, Scenarios:=True, _
         userinterfaceonly:=True
     Sheet1.EnableAutoFilter = True End Sub
于 2011-10-03T14:53:39.800 回答
0

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

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

几年前,这在 Excel 2000 上对我有用,但我仍然必须让每个用户更改他们的安全设置。我想我还做了一个宏来为每个用户自动更改安全设置?如果我没记错的话。

于 2012-06-04T23:34:31.307 回答