使用排序过滤器

时间:2017-01-24 13:10:53

标签: excel vba sorting google-sheets protected

我最近遇到了一个问题,即由于我的工作表受到保护而某些单元格受密码保护,因此我无法在工作表中对数据进行排序。

但是我现在已经对这个问题进行了分类,我已经突出显示了我需要排序的单元格和密码保护它 - 所以当我需要排序时,它会要求我输入密码以取消保护此部分。

当我这样做时,在排序之后,我想要更改一个最初被认为是受密码保护的单元格 - 它会在不询问密码的情况下更改 - 这很奇怪,因为工作表仍然受到保护。

虽然我第二次尝试,但它要求输入密码!!

所以我的问题是为什么它第一次没有要求输入密码? &安培;如何让它第一次要求输入密码?

这是为了实现这个目的而改变的代码:

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

有什么想法吗?

干杯! :)

0 个答案:

没有答案