로그인 유지
이 게시판은 아별닷컴 회원만 질문을 올릴 수 있습니다. 회원에게 주어지는 특권인셈이지요. 회원이 아닌 분들은 열람만 가능합니다.
2010.02.08 12:41
아쉽게도.. 엑셀의 기본기능으로만은
시트보호한 상태에서는 셀병합을 허용할 수 없습니다.
보호시킬때 옵션을 허용하면 셀 음영등은 넣을 수도 있는데.. 셀병합에 대한 것은 허용을 하지 않네요..
VBA를 사용하면 그렇게 할 수도 있습니다..
아래와 같이 코드를 입력하고 버튼 컨트롤을 하나 만들고, 버튼을 누르면 셀 병합이 되도록 양식을 수정하시는게 좋을 것 같습니다.
'엑셀 파일이 오픈될때, VBA에 의한 변경이 가능하도록 대상 시트의 보호 옵션을 변경합니다.
Private Sub Workbook_Open() Sheets("TEST").Protect userinterfaceonly:=TrueEnd Sub
'셀 병합하는 것도 VBA로 실행해주어야합니다.
Sub cellMerge() Selection.MergeEnd Sub
참고로..
Worksheet.Protect 메서드 도움말을 보면,
UserInterfaceOnly: True이면 매크로는 보호하지 않고 사용자 인터페이스만 보호합니다. 이 인수를 생략하면 사용자 인터페이스와 매크로를 모두 보호합니다.
새 창으로
선택한 기호
아쉽게도.. 엑셀의 기본기능으로만은
시트보호한 상태에서는 셀병합을 허용할 수 없습니다.
보호시킬때 옵션을 허용하면 셀 음영등은 넣을 수도 있는데.. 셀병합에 대한 것은 허용을 하지 않네요..
VBA를 사용하면 그렇게 할 수도 있습니다..
아래와 같이 코드를 입력하고 버튼 컨트롤을 하나 만들고, 버튼을 누르면 셀 병합이 되도록 양식을 수정하시는게 좋을 것 같습니다.
'엑셀 파일이 오픈될때, VBA에 의한 변경이 가능하도록 대상 시트의 보호 옵션을 변경합니다.
Private Sub Workbook_Open()
Sheets("TEST").Protect userinterfaceonly:=True
End Sub
'셀 병합하는 것도 VBA로 실행해주어야합니다.
Sub cellMerge()
Selection.Merge
End Sub
참고로..
Worksheet.Protect 메서드 도움말을 보면,
UserInterfaceOnly: True이면 매크로는 보호하지 않고 사용자 인터페이스만 보호합니다. 이 인수를 생략하면 사용자 인터페이스와 매크로를 모두 보호합니다.