允许在工作表中进行编辑,但保护其免受排序

时间:2013-05-17 18:57:49

标签: sorting

我有一张不受保护的工作表,以便用户可以在每个字段中输入信息,但我需要保护工作表不被排序。排序似乎搞砸了工作表中的公式和链接。我已经看到了很多关于如何保护纸张但允许分类的帮助,但不是我的问题,而是与此相反。

看起来它应该非常简单;这就是我现在所拥有的:

Sub ProtectRevHistory()

Worksheets("Revision History").Protect Contents:=False, AllowSorting:=False, UserInterfaceOnly:=True

End Sub

我没有遇到任何错误,但它不能保护排序。这甚至可以吗?

最终,如果我能让它工作,我想从Workbook_Open()事件中运行它,但是当我将此代码放在ThisWorkbook对象中时,它会在打开时询问我是否有密码,即使我离开了密码参数关闭。只需输入密码就会给我一个错误,也不会保护排序。

1 个答案:

答案 0 :(得分:0)

所以我崩溃并使用宏编辑器来看看这是否有助于我解决这个问题,我确实让它发挥作用。之后,我能够将它放在Workbook Open事件中,以便它在打开时运行。这是它的样子:

Private Sub Workbook_Open()


Sheets("Revision History").Protect Password:="StrongPasswordHere", DrawingObjects:=False, Contents:=True, Scenarios:= _
    False, AllowFormattingCells:=True, AllowFormattingColumns:=True, _
    AllowFormattingRows:=True, AllowInsertingColumns:=True, AllowInsertingRows _
    :=True, AllowInsertingHyperlinks:=True, AllowDeletingColumns:=True, _
    AllowDeletingRows:=True, AllowFiltering:=True, AllowUsingPivotTables:= _
    True


End Sub

可能有一些关于我不完全理解的参数,当它们列出时都能使它工作。我不确定。但至少对于那些需要它的人来说,现在已经存在了!关于它的好处是数据选项卡上的所有排序功能都是灰色的。如果您尝试在Filter中进行排序,它也不起作用。成功!!