我正在为在混合操作系统环境中工作的人调查一个问题。她在 Office 2007 中创建了一个 Excel 电子表格作为目录,并启用了姓名、电子邮件地址、部门等的自动筛选功能。为了确保没有人意外编辑电子邮件地址(例如),她对工作表进行了保护。
在运行 Excel 2007 的 PC 上访问此工作表,一切都按预期运行。您可以按任何自动筛选的列筛选工作表,并且由于工作表受到保护,因此可以保证数据的完整性。
但是,如果您在运行 Excel 2008 的 Mac 上访问该工作表,则无法筛选列。这里奇怪的是,自动筛选下拉箭头做出现在每个列标题中,正如您所期望的那样。只是如果您单击它们,则不会发生任何事情。
如果您选择其中一个列标题单元格(例如,“名字”)并检查菜单:数据->过滤器,可以看到AutoFilter已经勾选。
作为另一个数据点,您似乎还能够将高级过滤器应用于受保护工作表上的这些行。
有人知道这是为什么吗?这似乎是 Excel 2007/2008 之间的兼容性问题(我知道代码库不一样),但我在任何地方的文档或论坛中都找不到对此的任何引用,如果有办法解决这个问题就好了。
谢谢!
- - 更新
我做了一些进一步的调查,这似乎是 Mac 版 Office 2004 的一个已知功能。这似乎是一个解释问题:保护工作表应该禁止你对其进行任何更改。根据以下内容:http://www.officeformac.com/ProductForums/Excel/3936此行为已通过 VBA 脚本复制。Office 2008 不支持 VBA 脚本,因此我目前正在研究是否可以使用 AppleScript 解决或调查此问题。
谁知道我还能做些什么来解决这个问题?
答案1
我知道这是一个老问题,但也许其他人可能会尝试这个。使用一个宏,当选择标题允许自动过滤时关闭保护,然后在过滤完成时重新打开保护。可以设置选择工作表中的任何其他单元格以不关闭保护。