如何禁用Excel共享工作簿中的排序

时间:2013-08-31 12:45:25

标签: excel excel-vba vba

我想只允许共享excel工作簿的所有者能够对文件中的数据进行排序。这是最好的方法吗?

2 个答案:

答案 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/