Programming/MS Excel VBA

VBA Code: 엑셀 시트 복사시 이름 충돌 해결을 위한

레드마티즈 2024. 1. 10. 20:00
728x90

엑셀 파일을 새롭게 생성하지 않고 여러사람이 작업을 하고, 또 작업본을 다른 이름으로 저장해서 사용하다 보면 시트복사시 아래와 같은 알림 메세지가 떠서 복사할 때마다 번거로운 상황이 생깁니다.

이름 중복 알림 메세지

 

이름 관리자에 들어가 보면 보통은 아래와 같이 참조가 깨진 이름 목록들이 나와있고 전체 선택 후 삭제하면 시트 복사시 에러 메시지가 없어집니다.

 

문제는, 이름을 모두 삭제하고 아래와 같이 참조가 깨진 이름이 더이상 목록에 없는데도 에러 메시지가 발생하는 경우가 있다는 것입니다.

 

이 때는 VBA창을 열고 아래 코드를 실행해 주면 이름 관리자에서 보이지 않는 이름들이 삭제되어 문제가 해결 됩니다.

Sub ShowNames()

    Dim areaName As Name
   
    For Each areaName In ThisWorkbook.Names
        areaName.Visible = True
        areaName.Delete
    Next
   
End Sub

 

감사합니다.