第1部分 我已经将以下代码放在一起,以便对工作表上的数据进行排序。
但是,用户不断删除工作表中的行,这会破坏我工作簿的其余部分,因此我保护了工作表,但宏将不再运行。
有人可以帮我修改工作表的代码,运行宏并最后重新保护工作表吗?
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
我发现了类似的帖子,但我的知识水平很低。
第2部分 好的,这么小的问题出现了!如果我仍然希望用户能够插入单元格怎么办?
我可以看到我需要使用这个" AllowInsertingRows"但不明白我插入它的位置。
答案 0 :(得分:1)
绝对同意@ 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