取消保护,然后保护工作表
第1部分我已经把下面的代码放在一起,以便在表格上sorting数据。
但是,用户不断删除工作表中的行,从而破坏了工作簿的其余部分,所以我保护了工作表,但是macros不会再运行。
有人可以帮助我用代码来解除表单,运行macros,并保护最后的工作表?
Sub CustSort1() Range("a14").Select Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select Selection.Sort Key1:=Range("a14"), Order1:=xlAscending, Key2:=Range( _ "k14"), Order2:=xlAscending, _ Header:=xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:= _ xlTopToBottom, DataOption1:=xlSortNormal, DataOption2:=xlSortNormal, _ DataOption3:=xlSortNormal Range("a14").Select End Sub
我发现了类似的post,但我的知识水平相当低。
所有帮助赞赏。
第2部分好吧,这么小的问题来了! 如果我仍然希望用户能够插入单元格呢?
我可以看到我需要使用这个“AllowInsertingRows”,但不知道我插入它的位置。
绝对赞同@ vba4all。 另一种写作方式是在调用CustSort1子例程之前取消保护工作表,然后再次保护工作表。
Sub pMainCode() 'Considering Sheet1 to be where you want to apply sorting Worksheets("Sheet1").Unprotect "Password" Call CustSort1 Worksheets("Sheet1").Protect "Password" End Sub