본문 바로가기
WeekdayLife/excel

[엑셀VBA] 정의된 이름 편하게 확인하기

by JO_i 2022. 11. 7.

이름정의로 정의된 이름 확인하기

이름정의 기능은 잘쓰면 아주 유용하지만, 어설프게 사용한다면, 꼬여서 상당히 골치가 아파질 수 있는 기능이다. 정의된 이름 관련 리본 메뉴는 수식 탭에서 확인할 수 있다. 직관적으로 찾기 좀 애매한 위치에 있다.

 

 

 

정의된 이름 관리

정의된 이름은 "수식에서 사용" 버튼을 통해 수식안에 넣을 수 있고, "이름관리자"에서 편집 혹은 삭제가 가능하다.

 

 

 

 또는, 주소창에서 등록된 이름을 확인, 이동할 수 있고,

 

 

 

F5키를 눌러 해당 영역으로 이동할 수도 있다.

 

 

 

정의된 이름 좀 편하게 확인 가능?

그럼에도 이름이 여러개 만들어지다 보면, 프로그래밍하다가 변수명이 뭐였는지 잘 기억이 안나는 것처럼, 꼬이게 된다.

그래서 아래와 같이 등록된 이름을 확인할 수 있는 창을 만들어 보았다.

정의된 이름 리스트가 나오고, 해당 이름의 정의된 위치가 나온다. 더블 클릭하면 해당 영역으로 이동할 수 있게 해 주었다. 물론, 영역이 변경되거나, 신규로 등록된 이름의 경우, 해당 창을 껏다 켜줘야 한다. 리프레시 버튼을 추가해주는 것이 좋을 거 같기는 하다.

 

 

 

편하게 이름을 확인하고, 틀어진 셀위치가 없는지 확인해보자.

 

딴건 모르겠고, 이번에는 Range의 Parent 개념을 이해할 필요가 있다. 정의된 이름의 Array(or List?)인 workbook.Names(idx)를 호출할때, RefersToRange 메소드를 사용하는데, 이 때, 해당 Range의 Parent, 즉 시트를 먼저 Select 해주고 난 다음, Range를 Activate해줘야 한다. 그렇지 않으면, 에러를 만나게 된다. 쓸데없이 이것 때문에 시간을 좀 허비했다.

 

곧 ToolKit 안에 반영 예정임.

 

 

'OFFICE LIFE/VBA_USERFORM' 카테고리의 글 목록

나의 최선은 당신에게 허접일 수 있습니다.

sunnybong.tistory.com

 

 

끝.