我最近遇到了一个问题,即由于我的工作表受到保护而某些单元格受密码保护,因此我无法在工作表中对数据进行排序。
但是我现在已经对这个问题进行了分类,我已经突出显示了我需要排序的单元格和密码保护它 - 所以当我需要排序时,它会要求我输入密码以取消保护此部分。
当我这样做时,在排序之后,我想要更改一个最初被认为是受密码保护的单元格 - 它会在不询问密码的情况下更改 - 这很奇怪,因为工作表仍然受到保护。
虽然我第二次尝试,但它要求输入密码!!
所以我的问题是为什么它第一次没有要求输入密码? &安培;如何让它第一次要求输入密码?
这是为了实现这个目的而改变的代码:
Option Explicit
Const sPassword As String = "Green"
Function ProtectSheet(bBoolean As Boolean, sSheetName As String) As Boolean
' -------------------------------------------------------------------------------------------
' Description: (Un)protects a given worksheet & Workbook
' Inputs: bBoolean: True = protect, False = unprotect, worksheet name
' Output: Boolean (True/False)
'--------------------------------------------------------------------------------------------
If bBoolean Then
Worksheets(sSheetName).EnableSelection = xlNoRestrictions
Worksheets(sSheetName).Protect Password:=sPassword, AllowFiltering:=True, AllowSorting:=True
Else
Worksheets(sSheetName).Unprotect Password:=sPassword
End If
ProtectSheet = True
End Function
有什么想法吗?
干杯! :)