엑셀시트 복사시 참조에러
관리자
일반
0
5,692
2018.07.05 01:36
엑셀을 사용하다보면 타 문서의 시트를 이동/복사를 할 경우가 있다.
매크로 설정이 이루어진 파일이라면 매크로 이름도 같이 복사된다.
이럴 경우는 복사할때 엑셀"이름'xxx'이(가) 이미 있습니다. 해당 버전의
이름을 사용할 경우 [예]를 클릭하세요. 이동 또는 복사 하려는 'xxx' 버전의
이름을 변경하려면 [아니오]를 클릭하세요. 라는 메세지를 띄운다.
이는 "이름관리자" 값에 오류가 있는 경우에 발생하게 된다.
1. 시트 복사 오류를 수정하려면 리본메뉴에서 "수식 탭-> "이름관리자"를 선택하고
이름관리자 창에서 "값"과 "참조대상"에 참조 오류인 "REF!"오류 가 있는 것을
확인한 후 "필터" 풀타운 버튼을 클릭하고 "오류가 있는이름(W)"을 선택하여
모두 삭제를 한다.
2. 1의 방법을 사용하였음에도 불구하고 계속해서 오류가 발생하는 경우는
숨겨진 이름인 경우인데 바로 VBA(비주얼베이직어플리케이션) 때문이다.
엑셀창에서 "ALT+F11"을 눌러 VBA편집창을 실행한다.
메뉴바에서 "삽입->모듈"을 선택하여 모듈을 추가한다.
첨부된 텍스트를 카피하여 입력하거나
Sub VisibleName()
Dim vNames As Name
For Each vNames In Names
vNames.Visible=true
Next vNames
End Sub
명령문을 카피한후 붙여넣기하시고 툴바중 "▶"버튼을 클릭하거나 "F5" 키를
눌러 해당코드를 실행한다.
엑셀창에서 이름관리자를 확인해 보면 보이지 않았던 이름들이 보인다.
이 중 불필요한 이름을 선택후 삭제를 하면 참조된 문서의 복사오류를 수정할 수 있다.
* 참고로 복사(CTRL+C)후 붙여넣기(CTRL+V)를 실행할 경우 함수와 매크로까지 복사됨으로
붙여넣기할 때 값만 붙여넣기 옵션을 사용하여 편집하는 것이 편하다.