Excel VBA テクニック集
シートの保護





Excel VBA テクニック集
シートの保護です。

下記の赤く囲まれた部分をマクロ化します。 ただし、そのマクロが自身のExcelに登録されているのならば、マクロを見れば保護パスワードがすぐわかってします。 マクロ専用ファイルにマクロ化し、マクロなしファイルの保護するのであれば、マクロなしファイルだけでは保護パスワードはわからないので、保護の自動化が可能です。



使い方は、ファイル一覧を使った応用の、「マクロ専用ファイル」によるマクロ実行に、下記コードを入れます。
パスワード「12345」でシートを保護、すべてセルが対象
    Excel_App.ActiveSheet.Cells.Locked = True
    Excel_App.ActiveSheet.Protect Password:="12345"

パスワード「12345」で保護されたシートを、保護解除
    Excel_App.ActiveSheet.Unprotect Password:="12345"

パスワード「12345」でシートを保護、"A1:Z100"の範囲で背景ColorIndex=6又は45のときのセルが対象
(注:セル1個ずつ更新すると時間がかかるので、ユニオンオブジェクトを使って、更新を1回のみにします。)
    Dim Union_Obj As Object
    Dim Cell_Obj As Object
    Dim ColorIndex_Frm As Integer
    
    Excel_App.ActiveSheet.Cells.Select
    Excel_App.ActiveSheet.Cells.Locked = False
    Set Union_Obj = Nothing
    For Each Cell_Obj In Excel_App.ActiveSheet.Range("A1:Z100")
        ColorIndex_Frm = Cell_Obj.Interior.ColorIndex
        If ColorIndex_Frm = 6 _
        Or ColorIndex_Frm = 45 Then
            If Union_Obj Is Nothing Then
                Set Union_Obj = Cell_Obj
                Else
                Set Union_Obj = Excel_App.Application.Union(Union_Obj, Cell_Obj)
                End If
            End If
        Next
    If Not Union_Obj Is Nothing Then
        Union_Obj.Select
        Union_Obj.Locked = True
        End If
    Excel_App.ActiveSheet.Protect Password:="12345"

「こだわりハウス」写真館| 数学公式集| ピンポイントストリートビュー| FaceBook| Excel Vba テクニック集| Excel 計算式解析・他解析| 富山の建築家| Excel 計算式解析・他解析| 積分の定義・積分の記号の意味の研究|