2012-11-30 4 views
7

Excel 워크 시트에서 편집에서 셀 (A1)을 보호하고 포맷에서 다른 셀 (B1)을 보호하고 싶습니다.동일한 워크 시트에서 다른 셀 보호

  • 는 변경할 수 없습니다
  • 는 B1의 값을 편집 할 수 있습니다 B1의 서식

은 "보호 시트를 A1의 값을 편집 할 수 없습니다 : 이것은 사용자가 있다는 것을 의미 "옵션을 사용하면 전체 시트의 모든 잠긴 셀을 보호 할 수 있으므로 잠긴 경우 A1과 B1은 동일한 보호 수준 (서식 또는 편집 중 하나)을 갖습니다.

특정 셀 또는 범위에 대해 개별 보호를 설정하거나 적어도 동일한 동작을 얻는 방법이 있습니까?

추가 정보 :

  • 가 VBA가 OK 인 사용 용액 (는 Worksheet.Protect 방법은 동일한 제한이 있는지 보이지만은 ...)
  • 셀 A1은 (있는 편집 방지되어야)는 서식 설정에 대해 보호 될 수 있습니다 (중요하지 않음).
  • 그것은만큼 당신이 검사 또는 VBA에서 활성화 할 수 셀 서식을하지 않는 서식을 해결하지 않는 잠금 엑셀 2003

답변

2

와 함께 작동합니다. 따라서 단순히 B1의 잠금을 해제하면 잠긴 셀과 잠금 해제 된 셀을 선택하도록 허용하여 형식을 편집 할 수 없습니다.

Sub protectorate() 

    activesheet.Range("B1").Locked = False 

    With ActiveSheet 
     .Protect 
    End With 


End Sub 

이 B1의 값을 제외한 전체 시트에 서식 및 값 변경을 방지 할 수 있습니다, 그것은 여전히 ​​B1의 가치를 한 번에 수정할 수 있습니다.

+2

왜 VBA를 사용해야합니까? – brettdj

+0

예! 너무 단순했습니다! :-) 그러나 이것은 또한 동일한 시트 내에 다른 ** 포맷팅 ** 보호를 가질 수 없음을 의미합니다 : 포맷 가능하거나 전혀 포맷 할 수 없음. 나는 결코 그것을 필요 없기를 바란다. @brettdj : 예, VBA를 사용하지 않고 셀의 잠긴 속성을 설정한다. –

+0

@brettdj 메뉴를 통해 수행 할 수 있습니다. 나는 vba를 통해 보호 할 개인적 습관을 가지고 있다고 생각합니다. 메뉴를 통해 이것을 수행하는 더 좋은 지침으로 편집하겠습니다. – scott

관련 문제