아래 사용자 정의함수를 추가기능에 등록하고 사용하기만 하면 됩니다.
그런데 이전에 위 추가기능 파일을 등록하신 분이라면 먼저 해당 폴더의 파일을 삭제하고 추가 기능의 체크를 해제한 다음 엑셀을 닫고 열어서 다시 등록을 해야 합니다. 추가기능 파일 제거가 잘 안되면 계속 등록하라는 메시지가 나와 등록을 해도 Visual Basic을 보면 등록이 안되어 있습니다.
그래도 잘 안되면, 아래와 같이 개발도구 - 매크로 보안 - 신뢰할 수 있는 위치에 Addins 폴더를 등록하시기 바랍니다.
종전 사용자 정의함수는 지번이 하이픈(-)으로 연결된 경우만을 기준으로 작성되어 있었는데, 지번이 대시(ㅡ)로 연결된 경우도 적용되도록 하이픈위치란 변수의 정의를 변경했습니다.
(종전) | (변경) |
하이픈위치 = InStr(1, 범위, "-") | 하이픈위치 = WorksheetFunction.Max(InStr(1, 범위, "ㅡ"), InStr(1, 범위, "-")) |
1. 사용자 정의함수(추가기능) 등록하기
개발도구 - 'Excel 추가기능'에서도 '추가기능' 등록이 되는데,
엑셀 구 버전은 파일 - 옵션을 통해 추가기능을 등록하므로 이걸 기준으로 설명하겠습니다.
① 위 my_function.xlam을 특정 폴더 또는 c:\사용자\seung\AppData\Roaming\Microsoft\AddIns\ 폴더에 저장합니다.
AppData 폴더는 숨김 속성이기 때문에 탐색기 - 폴더 및 검색 옵션 변경 - 보기 에서 '숨긴 파일, 폴더 및 드라이브 표시'에 체크를 해야 합니다.
② 파일 메뉴를 누릅니다.
③ 옵션 메뉴를 누릅니다.
④ 왼쪽에서 추가기능을 선택하고, 이동 버튼을 클릭합니다.
⑤ 이미 My_function 추가 기능 왼쪽에 체크가 되어 있지만 일반적으로는 이 파일 자체가 없을 것입니다. 오른쪽 '찾아보기'버튼을 클릭합니다.
⑥ 기본적으로 Addins 폴더가 열리는데, 다른 폴더에 저장했다면 그 폴더로 이동합니다. my_function.xlam 파일을 클릭한 다음 아래 '열기' 버튼을 클릭합니다.
2. 사용자 정의함수(추가기능) 사용하기
사용방법은 간단합니다.
=지번(셀주소, 본번자릿수,부번자릿수) 이며,
본번자릿수와 부번자릿수는 옵션이므로 입력하지 않아도 되며, 입력하는 경우는 자릿수에 맞게 지번의 길이가 변경됩니다. 예를 들어 c2셀에 78-2 가 입력되어 있다고 할 때, d2셀에 =지번(c2,3,2) 라고 입력하면 078-02로 지번 형식이 변경되어 표시됩니다. 부번이 없을 경우에도 -00이라고 일정한 형식으로 변경됩니다.
적용된 결과를 보면 아래와 같습니다.
G2셀은 =지번(c2,3,2) 로 본번과 부번 자릿수를 지정해서 수식을 입력했고,
H2셀은 =지번(c2) 라고 본번과 부번 자릿수를 지정하지 않았으므로, 당초 데이터의 자릿수를 유지합니다. 다만 '산'지번과 본번 지번은 붙여서 표시됩니다.
위 파일을 열면 아래와 같이 보이는데, 지번 앞에 있는 'C:\......'!는 지워버려야 합니다. 사용자 정의함수를 사용한 파일을 다른 사람에게 보내면 이렇게 되므로 불편합니다. 그런데, 안지우면 'F2키를 누른 다음 엔터키를 치기 전'까기는 제대로 표시됩니다.
그런데, 추가기능 파일이 등록이 안되어 있다면 아래 화면과 같이 #NAME? 에러가 나고, 등록이 되어 있다면 제대로 표시됩니다.
사용자 정의함수의 세부적인 내용은 따로 설명하겠습니다.
'EXCEL - VBA' 카테고리의 다른 글
엑셀 Visual Basic Editor 환경 설정(직접 실행창, 도구 모음 등 배치 및 변수 선언 요구) (4) | 2022.09.17 |
---|---|
엑셀 - 개발 도구 탭 활성화 하기 (0) | 2022.09.16 |
엑셀의 유용함, 사용자 정의함수(2) (0) | 2020.07.28 |
엑셀의 유용함, 사용자 정의함수(1) (0) | 2020.07.27 |
엑셀 날짜 관련 함수 총정리(5) (VBA 날짜관련 함수 - DateAdd, DateDiff, DatePart 등) (0) | 2020.07.20 |