2017-09-27 5 views
0

코드를 신청하려고합니다. 매크로의 목표은 관련 셀을 두 번 클릭하면 타임 스탬프가 적용된 다음 셀이 편집에서 잠기는 것입니다. 셀을 편집해야하는 경우 암호를 적용해야합니다.셀 잠금/잠금 해제가 VBA를 능가합니다.

문제는 작동하도록 셀과 암호를 잠글 수 없다는 것입니다.

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 
        .Value2 = "Prepared By" & " " & Environ("Username") 
        .Value2 = .Value2 & " " & Format(Now, "yyyy-MM-dd hh:mm:ss") 
        .Value2 = .Locked = True 
        .Value2 = ActiveSheet.Protect Password:="Test" 
        End Select 
        End If 
    End With 
End Sub 

답변

0

이 작업을 수행합니까? 어떤 사람이 채워진 세포를 바꾸고 싶다면 어떤 일이 일어나기를 원하는지 확실하지 않습니다. 이를 처리하기 위해 별도의 SelectionChange 또는 Change 이벤트를 가질 수 있습니다.

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

With Target 
    If .Column = 4 Then 
     Select Case .Row 
      Case 20, 24, 25, 27, 28, 30 - 35, 37, 38, 40, 42 - 44, 54 - 56, 58, 59, 61 - 65 
       ActiveSheet.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 

End Sub 
+0

덕분에 세포를 잠그고 있습니다. 나는 그것이 잠겨 있기 때문에 두 번 클릭하면 암호를 요청할 것이라고 가정했을 것입니다. – James

+0

누군가가 셀을 두 번 클릭하면 추가 된 날짜 등을 원하지만 셀로 돌아가 편집 할 수 있기를 원하십니까? – SJR

+0

사용자가 셀을 두 번 클릭하면 잠겨집니다. 그러나 파일을 수정해야하는 다른 사용자는 보호 된 셀을 두 번 클릭하고 비밀번호를 입력하여 셀을 잠금 해제 할 수 있어야합니다. – James