2013-03-02 3 views
0

엑셀에서 셀을 두 번 클릭하면 어떻게됩니까?엑셀에서 셀을 두 번 클릭하면 어떻게됩니까?

사용자가 두 번 클릭하지 않으면 셀에 아무 것도 입력 할 수없는이 경우 Excel Viewer에서 셀에 데이터를 입력해야하므로이 사실을 알고 싶습니다. 그것은 잘 작동

myActiveWorksheet.Protect("password", Type.Missing, true, true, Type.Missing, true, 
Type.Missing, 
Type.Missing, 
Type.Missing, 
Type.Missing, 
Type.Missing, 
Type.Missing, 
Type.Missing, 
false, false, true); 

정확하게 내가 원하는 것을 할 :

나는 두 번 클릭하지 않고 데이터를 입력에서 활성 시트를 보호하기 위해 다음 코드를 사용했다.

그러나 문제는 cell.I의 사용자를 두 번 클릭은 사용자가 셀에 자신의 데이터를 입력 할 수 있도록 시트 보호를 해제하는 ActiveWorkbook의 SheetBeforeDoubleClick 이벤트 처리기에 다음 코드를 쓴 한 바로 그 때 발생

myActiveWorksheet.Unprotect("password"); 
target.Locked = false; 

또한 SheetChange 이벤트 처리기에서 아래 코드는 다시 보호 :

target.Locked = true; 
myActiveWorksheet.Protect("password", Type.Missing, true, true, Type.Missing, true, 
    Type.Missing, 
    Type.Missing, 
    Type.Missing, 
    Type.Missing, 
    Type.Missing, 
    Type.Missing, 
    Type.Missing, 
    false, false, true); 

두 번째 보호 코드 (나는 SheetChange 이벤트 처리기에서 일을 의미)하지 잘 작동 않기 때문에 사용자는 각각의 입력 할 수 있습니다 그러나 세포들 그걸 한 번 클릭하십시오.

1) 뭔가 시트가 보호 될 것입니다 원인 엑셀 더블 클릭 과정에서 발생합니다

나는 이유에 대해이 추측이있다.

2) SheetChange 이벤트 핸들러의 target 매개 변수가 변경된 셀을 가리 키지 않습니다.

답변

1

EyVal ...

내 해결책을 찾았습니다. 내가

myActiveWorksheet.Cells.Locked = true; 

대신 SheetChange 이벤트 처리기에서

target.Locked = true; 

의 사용해야합니다.

관련 문제