如何在Excel共享工作簿中禁用排序
我只允许共享excel工作簿的所有者对文件中的数据进行排序。最好的方法是什么?如果主要原因不是强大的安全性,而是在与其他人共享的工作簿中发生的意外情况,那么这应该在工作表\u激活事件中起作用 这甚至不是试图隐藏排序禁止如何在Excel共享工作簿中禁用排序,excel,vba,Excel,Vba,我只允许共享excel工作簿的所有者对文件中的数据进行排序。最好的方法是什么?如果主要原因不是强大的安全性,而是在与其他人共享的工作簿中发生的意外情况,那么这应该在工作表\u激活事件中起作用 这甚至不是试图隐藏排序禁止 Private Sub Worksheet_Activate() Dim WhoCanSort As String WhoCanSort = ThisWorkbook.WriteReservedBy If WhoCanSort = "Charlie" Then
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
还有一种方法不需要宏。如果使用“允许用户编辑范围”功能,可以为大多数用户锁定单元格并保护工作表,但可以定义可由特定用户编辑的单元格范围。请参阅本文:这将是一件很难做到的事情,因为没有人能够绕过它。不能在共享工作簿上保护工作表或使用VBA代码。您可以暂时删除共享选项,方法是进入“审阅/共享工作簿”,然后取消选中“允许其他用户…”。。。选项,然后在添加保护后再次共享。然而,在进行了一个快速的实验之后,我无法让保护在不禁用其他功能的情况下阻止排序的方式下工作(但这可能是通过一些修改实现的)。还要记住,工作表保护密码很容易被黑客攻击:感谢您的回复。这是一个办公室文件,不需要太多的安全性,我是该文件的所有者。为了添加一些VBA代码,我暂时禁用共享没有问题。你能提供更多关于你做了什么和你使用了什么代码的细节吗?