반응형
엑셀로 문서 작업을 할 경우 인터넷 주소 문자열에 자동으로 하이퍼링크가 들어가는 경우를 종종 봅니다.
엑셀 문서에서 해당 인터넷 주소를 직접 클릭할 경우 유용하긴 하지만 종종 이 하이퍼링크들을 모두 삭제하고 싶은 경우들이 있습니다.
이 링크가 적을 경우 수동으로 삭제하면 되지만 많을 경우 일일이 하이퍼링크 편집 기능을 이용하여 링크를 삭제해야 하는데, 참으로 끔찍한 일입니다.

-------------------------------------------------------------------------------------

엑셀의 VBA 기능을 이용하여 하이퍼링크를 일괄적으로 삭제하는 방법에 대해 알아 보겠습니다.
VBA 코드를 삽입하기 위해 실행 버튼을 하이퍼링크가 있는 엑셀문서에 삽입해 보도록 하겠습니다.
이를 위해 컨트롤 도구 상자를 띄워 명령 단추를 클릭한 다음 버튼을 엑셀 문서내의 적절한 위치에 그려 넣습니다.
(컨트롤 도구 상자가 나와 있지 않은 사람은 '보기' 메뉴의 '도구 모음'에서 '컨트롤 도구 상자'를 선택하면 됩니다.)

이제 이 버튼을 더블 클릭하면 VBA 편집창이 뜨는데 이 곳에 다음과 같은 코드를 삽입해 보세요.

Private Sub CommandButton1_Click()
Dim objSheet As Worksheet
For Each objSheet In Worksheets
objSheet.Hyperlinks.Delete
Next objSheet
End Sub

이제 다시 엑셀 문서로 돌아와서 명령 버튼을 실행시키기 위해 '컨트롤 도구 상자'에서 '디자인 모드 끝내기' 아이콘을 선택하여 '실행 모드'로 들어갑니다.
이제 버튼을 클릭하면 해당 VBA 코드가 실행되면서 모든 하이퍼링크가 삭제된 것을 확인할 수 있을 것입니다.
엑셀에서 사용하는 VBA에 대한 개념이 없는 사람들은 위 코드가 조금 복잡하게 느껴질 수도 있습니다.
위 VBA 코드를 간단히 설명하자면 엑셀 문서에 있는 모든 Worksheets을 반복하여 프로그래밍적으로 접근하여 Hyperlinks란 객체를 삭제시켜주는 것이다.

이제 모든 문서에 한번에 하이퍼링크를 제거할 수 있습니다.
반응형

+ Recent posts