隨着時間的推移,我有一個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
您可以取消您的排序宏中的工作表,然後重新進行保護。順便說一句,「在錯誤恢復下一個」仍然有效,直到你取消它 - 你只需要其中一行...... –