没有 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