我想只允许共享excel工作簿的所有者能够对文件中的数据进行排序。这是最好的方法吗?
答案 0 :(得分:2)
如果主要原因不是强大的安全性,而是在与其他人共享的工作簿中发生的意外诉讼,则这应该在Worksheet_Activate事件中起作用
这甚至没有试图隐藏排序禁止
Private Sub Worksheet_Activate()
Dim WhoCanSort As String
WhoCanSort = ThisWorkbook.WriteReservedBy
If WhoCanSort = "Charlie" Then
ActiveSheet.Unprotect
Else:
ActiveSheet.Protect AllowSorting:=False
End If
End Sub
答案 1 :(得分:0)
还有另一种不需要宏的方法。如果使用“允许用户编辑范围”功能,则可以保持单元格锁定并为大多数用户保护工作表,但可以定义特定用户可以编辑的单元格范围。请参阅此文章:http://blog.softartisans.com/2013/10/01/kb-sorting-locked-cells-in-protected-worksheets/