• 최초 작성일: 2001-04-26
  • 최종 수정일: 2026-09-30
  • 조회수: 10 회
  • 작성자: 권현욱 (엑셀러)
  • 강의 제목: 사용자정의 함수 범주 지정하기

들어가기 전에

오래 전 엑셀 파일로 진행하던 강의를 웹 글로 복원한 것이라, "버튼을 눌러보세요"처럼 엑셀에서 직접 조작하라는 표현이 남아 있을 수 있습니다. 결과는 본문의 그림이나 표로 확인하실 수 있으며, 현재와 맞지 않는 내용은 보완하되 전반적인 스타일은 당시의 갬성(?)을 유지했습니다.

아래는 한근태 박사님의 글을 UNO21님 사이트에서 접하고 함께 나누고 싶어 소개했던 내용입니다. 몇 번을 읽어 보았는데 참으로 수긍이 가는 글이었습니다. (글 전문은 저작권 문제로 싣지 않고 요지만 정리했습니다.)

글쓴이는 부실경영으로 공적 자금이 투입된 회사의 중년 직원들과, 급변하는 업계에서 밀려난다고 느끼는 전산 분야 친구를 만난 이야기를 들려줍니다. 모두 앞날을 몹시 걱정하지만 정작 책을 읽거나 새로 배우는 등 구체적으로 준비하는 사람은 드물다는 점이 글의 핵심입니다.

글쓴이는 변화가 빠른 시대에 자격증이나 학위만으로 평생을 버티던 시절은 지났다고 지적하고, 걱정은 아무 행동 없이 편하게 할 수 있기 때문에 사람들이 걱정만 되풀이한다고 말합니다. 걱정은 인간의 숙명이지만 개인의 노력에 따라 얼마든지 줄일 수 있다는 것입니다.

이 글을 읽고 어떤 생각이 드시는지… 우리 모두가 "후회하기 보다는 반성하는 사람"이 되었으면 좋겠습니다.

그건 그렇고…

권현욱(엑셀러)
저자: 권현욱(엑셀러), 아이엑셀러 대표

필자는 Excel 컨설턴트, 작가, 그리고 크리에이터입니다. 현재 Microsoft Excel MVP이며, 『챗GPT+엑셀 업무자동화 정석』을 비롯한 10여 권의 도서를 집필했습니다. Excel 자동화 및 생산성 향상 분야에서 25년 넘는 경력을 보유하고 있습니다.

권현욱(엑셀러) 님의 최신 포스트:
  • 최신 글을 불러오는 중...


26년 경력 Microsoft MVP 권현욱(엑셀러) 대표 직강 1강 무료

🎁 파워툴스 마스터클래스 · 엑셀 바이브 코딩

AI에게 말로 지시해서 '나만의 엑셀 도구'를 만들고 리본에 장착합니다.

  • 코딩 지식 없이 시작 · 코드는 AI가 작성
  • 엑셀 리본에 내 탭과 버튼을 만들고 XLAM으로 공유
  • 1강 무료 수강 가능
수강 신청하기 강의 소개 보기

사용자정의 함수 범주 지정하기

핵심 요약: 사용자 정의 함수 범주 바꾸기

Application.MacroOptions의 Category 인수에 범주 번호를 지정하면 사용자 정의 함수를 함수 마법사의 원하는 범주로 옮길 수 있습니다.

  • 1단계: 사용자 정의 함수는 기본으로 사용자 정의 범주에 들어갑니다.
  • 2단계: Application.MacroOptions macro:="함수명", Category:=번호를 실행합니다.
  • 3단계: 함수 마법사에서 지정한 범주에 함수가 나타나는지 확인합니다.

Step 1: 사용자 정의 함수의 범주

이번 시간에는 강좌 제목처럼 자신이 만든 사용자 정의 함수의 범주를 지정하는 방법에 대해 알아보도록 하겠습니다. 보통 사용자 정의 함수를 하나 만들면 '사용자 정의'라는 범주에 속하게 됩니다.

일단 간단한 함수 하나를 만듭니다. 아주 오래 전에 소개해 드렸던 '거꾸로()' 함수를 그냥 사용하도록 하지요. 아래의 빈 셀에 '=거꾸로(B78)' 이라고 입력해 보세요.

예제로 사용하는 '거꾸로' 함수는 다음과 같습니다.

Function 거꾸로(Cell As Range) As String
    거꾸로 = StrReverse(Cell.Value)
End Function

B78 셀에 있는 문자열이 거꾸로 나타나지요?

이번에는 함수 마법사 아이콘을 클릭한 다음, '사용자 정의' 범주를 선택해 보세요. '거꾸로'라는 함수가 하나 나타날 것입니다.

함수 마법사에서 범주를 사용자 정의로 선택했을 때 거꾸로 함수가 나타난 화면
아이엑셀러

이처럼 엑셀에서 제공하는 내장 함수는 '재무, 날짜/시간, 수학/삼각' 등과 같이 정해진 범주에 소속되어 있으나 사용자가 직접 작성한 함수는 사용자 정의' 범주에 자동으로 포함이 됩니다. 그런데 이런 '거꾸로'와 같은 사용자 정의 함수는 '텍스트' 함수 범주에 포함시켜 놓는 것이 더 좋겠지요? 아래의 버튼을 누르세요.

Step 2: 범주 바꾸기 (ChangeCategory)

그리고 나서 다시 함수 마법사 아이콘을 클릭해 보면 '텍스트' 범주 안에 '거꾸로' 함수가 나타납니다.

함수 마법사에서 범주를 텍스트로 선택했을 때 거꾸로 함수가 목록에 나타난 화면
아이엑셀러

코드는 상상 외로(!) 간단합니다.

Sub ChangeCategory()
    Application.MacroOptions macro:="거꾸로", Category:=7
End Sub

여기서 Category가 바로 범주 타입을 지정해 주는 Category Number로, 아래와 같은 종류가 있습니다.

숫자함수 범주
숫자함수 범주
0모두
1재무
2날짜/시간
3수학/삼각
4통계
5찾기/참조 영역
6데이터베이스
7텍스트
8논리
9정보
10Commands(이 범주는 화면 상에 표시되지 않습니다)
11Customizing(이 범주도 숨겨져 있습니다)
12Macro Control(이 범주도 숨겨져 있습니다)
13DDE/External(이 범주도 숨겨져 있습니다)
14사용자 정의(Default)
15공학(이 범주는 분석 도구를 추가설치 한 경우 나타납니다)

참고로 새로운 함수 범주를 만든다거나 함수의 arqument에 세부적으로 도움말을 추가할 수는 없습니다.

마무리

오늘은 여기까지…

정리 — 함수 범주 번호 핵심

번호 범주 비고
1 재무
2 날짜/시간
3 수학/삼각
7 텍스트 이번 예제에서 사용
14 사용자 정의 기본값

자주 묻는 질문 (FAQ)

Q1. 사용자 정의 함수를 텍스트 범주로 옮기려면 어떻게 하나요?

Application.MacroOptions macro:="함수명", Category:=7 을 실행합니다.

Q2. 새로운 함수 범주를 만들 수 있나요?

새 범주를 만들거나 함수 인수별 도움말을 추가할 수는 없습니다.

Q3. 공학 범주는 왜 보이지 않나요?

공학 범주(15)는 분석 도구를 추가로 설치한 경우에만 나타납니다.

마치며

MacroOptions 한 줄이면 직접 만든 함수도 내장 함수처럼 알맞은 범주에서 찾아 쓸 수 있습니다.