工作表受保护时更改选项卡颜色

时间:2017-06-29 18:31:13

标签: excel excel-vba vba

是否有办法根据纸张是否受到保护而更改标签颜色?例如。 protected = green,unprotected = red。

我试图找到一种简单的方法来直观地发现哪些纸张受到保护。我有多张床单,有些需要保护,有些需要不受保护。我每天都会编辑受保护的工作表,但我需要在保存时保护它们,以免其他用户意外编辑数据。

1 个答案:

答案 0 :(得分:1)

使用@BruceWayne所说的话。您只需要遍历所有工作表并检查它们是否受到保护。如果受到保护,下面的代码将循环显示所有颜色为绿色,如果不受保护,则为绿色。您可以更改事件以触发您需要的任何操作。请务必将此代码放在工作簿中而不是模块中。

Private Sub Workbook_Open()

    Dim wbk As Workbook
    Dim ws As Worksheet

    Set wbk = ThisWorkbook

    For Each ws In wbk.Worksheets
        If ws.ProtectContents = True Then
            ws.Tab.Color = vbGreen
        Else
            ws.Tab.Color = vbRed
        End If
    Next

End Sub