나만의 함수 작성하기

2010-08-06     PC사랑



이달의 포인트
비주얼베이직 편집(VBE)
비주얼베이직 편집(Visual Basic Editor)은 엑셀에서 비주얼베이직 프로그램 언어를 편집하는 창으로 프로젝트, 속성, 코드 창으로 구성되어 있다. 함수는 코드 창에 작성한다.

Function문 [Function 함수 이름] ~ [End Function] 형태로 함수를 만들면 자동으로 이용자가 만든 함수로 인식한다. 함수 마법사의 범주 선택에 ‘사용자 정의’로 분류된다. 함수 내용은 [Function 함수 이름]과 [End Function] 사이에 입력한다.

MID 함수 MID 함수는 비주얼베이직 함수로서 텍스트 데이터, 추출할 시작 위치, 추출할 텍스트 개수의 형식으로 구성된다. 엑셀의 MID 함수와 기능은 같지만 비주얼베이직 함수와 엑셀 함수는 동시에 쓸 수 없다.

보안 설정 비주얼베이직 코드가 작성된 엑셀 파일을 열려면 도구 → 매크로 → 보안에서 보안 수준을 바꿔야 한다. 보안 등급은 매우 높음, 높음, 보통, 낮음 등 4등급이다.


[1] 그림처럼 고객번호, 성명, 주민등록번호와 세미나 참석 현황을 나타내는 데이터가 입력된 엑셀 파일에서 주민등록번호를 이용해 G열에 성별을 표시하려고 한다.


[2] 도구 → 매크로 → Visual Basic Editor를 고른다. [비주얼베이직 편집] 창에서 삽입 → 모듈을 누른다.


[3] 추가된 모듈 1개가 왼쪽 위의 [프로젝트] 창에 표시된다. 오른쪽에 표시되는 [모듈(코드)] 창에 ‘function 성별(주민등록번호 as string) as string’을 입력한다.


[4] Enter 키를 누르면 자동으로 영문 첫 글자가 모두 대문자로 바뀌고 End Function이 추가된다.


[5] 그림처럼 Select Case로 시작되는 함수를 입력한다. 이때 영어 단어를 소문자로 입력하면 첫 글자가 자동으로 대문자로 바뀐다. 오타가 있으면  Enter 키를 눌렀을 때 빨간색으로 바뀐다.


[6] 입력할 코드 내용은 표를 참조한다. MID 함수로 주민등록번호 성별을 나타내는 8번째의 숫자를 가져와서 성별을 정한다. 경우의 수가 6가지다. 


[7] 함수를 적용하려면 [비주얼베이직 편집] 창의 도구 모음에서 [보기 Microsoft Excel]를 누른다.


[8] 엑셀 창에서 G4셀을 선택하고 삽입 → 함수를 고른다. [함수 마법사] 창의 [범주 선택]에서 [사용자 정의]를 고른다. [사용자 정의]는 비주얼베이직 편집 창에서 만든 Function으로 시작하는 구문이 있을 때 자동으로 표시된다. 


[9] [함수 마법사] 창의 [함수 선택]에 방금 작성한 [성별]이란 함수가 표시된다. 이것을 골라 [확인]을 누른다.


[10] [함수 인수] 창의 [성별]에 D4셀을 지정한다. 함수가 제대로 작동하면 수식 결과에 ‘외국인 남자’라고 표시된다.


[11] G4에 계산된 함수식을 복사하려면 G4셀의 채우기 핸들을 더블클릭해 데이터의 마지막까지 복사한다. 채우기 핸들은 셀을 선택했을 때 오른쪽 아래에 표시되는 검은색 점이다.


[12] 엑셀 파일을 저장하고 파일 → 닫기를 눌러 파일을 닫는다. 비주얼베이직 함수를 불러오려면 엑셀의 보안 수준을 바꿔야 한다. 도구 → 매크로 → 보안을 고른다. 단, 엑셀 파일을 하나도 열지 않은 상태여야 한다.


[13] [보안] 창에서 [보통]을 고른다. [보통]은 비주얼베이직 코드가 작성된 파일을 열 때 비주얼베이직 코드 이용 여부를 선택할 수 있다.


[14] 비주얼베이직 코드로 만든 엑셀 파일을 열면 파일이 열리기 전에 [보안 경고] 창이 뜬다. [매크로 제외]와 [매크로 포함]이 뜬다. 비주얼베이직 함수를 쓰려면 [매크로 포함]을 누른다.