2017-06-29 13 views
-2

シートが保護されているかどうかによってタブの色が変わる方法はありますか?例えば。保護=緑、保護されていない=赤。シートが保護されているときにタブの色を変更する

私は、どのシートが保護されているかを目視で確認する簡単な方法を見つけようとしています。私は複数のシートを持っています。私は保護が必要なものと、保護されていないものがあります。保護されたシートを毎日編集しますが、保存する際に保護する必要があるので、他のユーザーが誤ってデータを編集することはありません。

+0

自分で任意の[調査](https://stackoverflow.com/questions/12464457/changing-color-of-tabs-in-excel-using-vba)を行ってか何かをしようとしたことがありますか? – pnuts

+0

はい、あります。セルの値に応じてタブの色を変更するVBAコードがいくつかありますが、シートの保護はありません。 – brink

+2

あなたが持っているコードを投稿してください。 – BruceWayne

答えて

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 
関連する問題