随着时间的推移,我有一个4工作表的员工工作簿。前3张是其他人添加数据的地方。第四张是数据加起来的地方。在第四张表中,我启用了一个自动排序宏来不断重新排序我在几张不同表上的数据。我喜欢保护这张第四张纸以防篡改,但是我发现只要我保护纸张,公式仍然可以使用,但是宏不会。我知道宏的工作原理,因为无论何时解除工作表的宏,宏都会再次激活。我是否需要添加一些东西给我的宏,使其在保护模式下工作,或者我只是做错了什么或这是不适用于Excel 2010?这是当前使用的宏指令:在工作簿中保护启用宏的工作表
Private Sub Worksheet_Activate()
On Error Resume Next
Range("c1").Sort Key1:=Range("c2"), _
Order1:=xlAscending, Header:=xlYes, _
OrderCustom:=1, MatchCase:=False, _
Orientation:=xlTopToBottom
On Error Resume Next
Range("k1").Sort Key1:=Range("k2"), _
Order1:=xlAscending, Header:=xlYes, _
OrderCustom:=1, MatchCase:=False, _
Orientation:=xlTopToBottom
On Error Resume Next
Range("o1").Sort Key1:=Range("o2"), _
Order1:=xlAscending, Header:=xlYes, _
OrderCustom:=1, MatchCase:=False, _
Orientation:=xlTopToBottom
On Error Resume Next
Range("s1").Sort Key1:=Range("s2"), _
Order1:=xlAscending, Header:=xlYes, _
OrderCustom:=1, MatchCase:=False, _
Orientation:=xlTopToBottom
End Sub
当保护工作表,尝试在选项列表中启用“排序”(可能需要向下滚动才能看到它之前解锁片)出现在“保护表”对话框中。 – tigeravatar
您可以取消您的排序宏中的工作表,然后重新进行保护。顺便说一句,“在错误恢复下一个”仍然有效,直到你取消它 - 你只需要其中一行...... –