엑셀 "이름 'xxx'이(가) 이미 있습니다. 해당 버전의..." 시트 복사 오류

엑셀 시트를 복사하는 중 “이름 ‘xxx'이(가) 이미 있습니다. 해당 버전의 이름을 사용하려면 [예]를 클릭하세요. 이동 또는 복사하려는 ’xxx’ 버전의 이름을 변경하려면 [아니오]를 클릭하세요” 경고 메시지를 볼 수가있는데요, “이름 관리자” 값에 오류가 있는 경우 발생하게 됩니다.
 
윈도우 버전 엑셀에서는 아래와 같이 시트 복사시 오류메시지를 띄웁니다. ⬇︎
맥 버전의 엑셀의 경우 경고 메시지의 문구가 약간 틀리지 만 이유는 동일합니다. ⬇
 
해당 경고 메시지 이벤트가 발생하지 않도록 수정해 보겠습니다. 사용한 Office 버전은 Office 365(버전 1710, 빌드 8625.2121) 버전을 입니다.
 
시트 복사 오류 수정
1. 리본메뉴에서 “수식 탭 >> 이름 관리자”를 선택합니다. ⬇
2. “이름 관리자” 창에서 “값"과 "참조 대상”에 참조 오류인 “#REF!” 오류가 있는 것을 확인 할 수있습니다. ⬇
3. 오류가 있는 모든 이름을 선택해서 해보겠습니다. 우측 상단 “필터 >> 오류가 있는 이름(W)”를 선택합니다. ⬇
4. 아래와 같이 오류가 있는 이름만 필터링 됩니다. 모두 선택하고 “삭제” 버튼으로 오류가 있는 이름을 모두 삭제하고 “닫기” 버튼으로 빠져나옵니다. ⬇
5. 이제 시트를 복사해도 경고창이 발생하지 않습니다.
 
하지만 이렇게해도 오류가 발생하는 경우가 있습니다. 바로 숨겨진 이름들이 존재하기 때문입니다. VBA(Visual Basic for Applications)를 사용하여 간단하게 숨어있는 이름을 볼 수가있습니다.
 
숨겨진 이름 보이게 하기
1. 엑셀 창에서 "Alt + F11”(맥용 엑셀은 “option + F11" 맥북 터치바는 "fn + option + F11")를 함께 누르면 VBA 편집창이 뜹니다.
2. 메뉴바에서 “삽입 >> 모듈”을 선택하여 모듈을 추가합니다. ⬇
3. 아래와 같이 코드를 입력합니다. ⬇
Sub VisibleName()
 
Dim vNames As Name
 
For Each vNames In Names
 
       vNames.Visible = True
 
Next vNames
 
End Sub
 
4. 툴바에서 “▶︎” 실행 버튼을 클릭하거나, “F5” 키를 눌러 해당 코드를 실행합니다.  ⬇
5. “이름 관리자”에서 확인해 보면 보이지 않았던 이름들이 보입니다. 불필요한(오류가 있는) 이름은 선택 후 삭제하면 됩니다. ⬇
 
여기까지 시트 복사시 발생하는 경고 메시지를 해결하는 방법에 대해 알아 보았습니다. 잘 못된 부분이나 문의 사항은 댓글이나 메일 부탁드립니다. 감사합니다.

 

참조

2017/05/04 - 엑셀 IF 함수

2017/03/27 - 엑셀 MID 함수, MIDB 함수 - 지정 위치에서 문자열 가져오기

2017/03/26 - 엑셀 문자열 함수 RIGHT 함수, RIGHTB 함수 - 오른쪽에서 문자열 가져오기

2017/03/24 - 엑셀 문자열 함수 LEFT 함수, LEFTB 함수 - 왼쪽에서 문자 가져오기

2017/03/23 - 엑셀 LOWER 함수, UPPER 함수, PROPER 함수 - 영문자 대문자 소문자 변환하기.

2017/03/03 - 엑셀 INDEX와 MATCH 함수

2017/02/20 - 엑셀 SUMIF 함수를 이용한 총합 계산

2017/02/05 - 엑셀 COUNTIF 함수 조건부 셀 갯수 세기 - 와이드 카드를 이용한

2017/02/03 - 엑셀 함수 오류 알아보기 - #N/A, #DIV/0!, #NAME?, #NULL!, #VALUE!, #REF!, #NUM!, #######

2017/02/02 - 엑셀 COUNTIF 함수 조건부 셀 갯수 세기

2017/02/02 - 오피스 Office 365 for Mac 구독하기.

728x90