2017-09-28 13 views
1

ダブルクリックしたときに個々のセルをロックするVBAコードがあります。デジタル署名個々のセルが保護されているとプロテクトされていますExcel

問題。しかし、個々の細胞の保護は私のエクセルシートにある私のデジタル の署名に影響を与えています。個々のセルが保護されている場合は、電子署名をダブルクリックできません。

質問:これには方法がありますか?以下は

enter image description here

私は細胞を保護するために使用するコードです。

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) 

    Application.EnableEvents = False 

    With Target 
     If .Column = 4 Then 
      Select Case .Row 
       Case 20, 24, 25, 27, 28, 30, 31, 32, 33, 34, 35, 37, 38, 40, 42, 43, 44, 54, 55, 56, 58, 59, 61, 62, 63, 64, 65 
       Sheets("Sheet3").Protect Password:="Test", userinterfaceonly:=True 
        .Value2 = "Prepared By" & " " & Environ("Username") 
        .Value2 = .Value2 & " " & Format(Now, "yyyy-MM-dd hh:mm:ss") 
        .Locked = True 
        End Select 
       End If 
    End With 

答えて

0

すでにロックされているセルを編集するには、ロックを解除して変更してから再びロックする必要があります。 Alternativleyあなたは、セルに反対のワークシートをロックするためにあなたのVBAコードを変更することができます。この場合、メソッド "Protect"の中に引数 "UserInterFaceOnly"があります。この引数を使用すると、UIではなくマクロからの変更を防ぐことができます。

Sheets("Sheet1").Protect "password", UserInterFaceOnly:= True 
+0

私は質問に自分のコードを追加しました。この前にUserInterFaceOnlyを使用していましたが、同じ問題が発生していました。 – James

+0

複数のユーザーがいますか?私はあなたに&Environ( "Username")があるのを見ます。特定のユーザーにのみ編集機能を許可する場合は、次のようなものを書くことができます。 Environ $( "UserName")= "Admin"の場合、シートを完全にロック解除して編集を許可します。 – APW

関連する問題