본문 바로가기

Computing@Tip

[본문스크랩] [ Excel ] 엑셀 문서에 있는 모든 하이퍼링크를 제거하..

엑셀 문서에 있는 모든 하이퍼링크를 제거하는 방법

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

누가 말했던가? 엑셀로 못 할 일이 없다고... 엑셀에서는 VBA(Visual Basic for Application) 기능을 지원하기 때문에 프로그래밍 능력이 있는 사람들은 많은 부분을 자동화할 수 있는게 사실이다. 엑셀의 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란 객체를 삭제시켜주는 것이다. 잘 감이 안오는 사람들은 그냥 위 방법대로 따라 사용해도 무방하다.


MOS지정학원 바로가기~~!!