엑셀(Excel) VBA – 사용자정의 함수 세부내용 VB 코드로 등록하기

엑셀(Excel)/VBA

엑셀(Excel) VBA – 사용자정의 함수 세부내용 VB 코드로 등록하기

 

환경 : Microsoft Excel 2010

 

Function 으로 함수를 만들게 되면 사용자 지정 함수로 분류가 되게 됩니다. 이때 자기만의 분류를 만들어서 그곳에 함수를 모아두고 싶거나 도움말 같은 상세 내용을 집어 넣을수 있는 VB 코드가 있습니다. 그것이 Application.MacroOptions 함수 입니다.

 

Application.MacroOptions 는 엑셀에서 사용자정의 함수의 설명이나 단축키 분류등의 옵션을 지정하게 해주는 함수 입니다.

 

Application.MacroOptions

           Macro := 사용자정의함수명

           Description := 함수에 대한 상세 설명

           HasShortcutKey := 기본값은 False 이며 True 이면 단축키 할당할수 있음

           ShortcutKey := HasShortcutKey True 일때 단축키 넣기

           Category := 함수들의 범주명을 만듬

 

Application.MacroOptions 으로 함수의 분류와 설명을 등록하기 위해 원의 넓이를 구하는 함수를 간단하게 하나 만들었습니다.

 

Function 원의넓이구하기(radius As Double)

    원의넓이구하기 = radius * 3.14

End Function

 

이렇게 함수를 하나 만들면 처음에는 사용자 정의 함수에 들어가 있을 겁니다. 이것을 나만의 분류를 만들어 옮겨 보도록 하겠습니다.

 

엑셀(Excel) VBA – 사용자정의 함수 세부내용 VB 코드로 등록하기

 

먼저 엑셀이 구동될 때 함수를 실행 할 것이므로 왼쪽 익스플로어에서 현재_통합_문서더블클릭합니다. 콤보박스에서 Workbook Open 함수를 선택합니다.

엑셀(Excel) VBA – 사용자정의 함수 세부내용 VB 코드로 등록하기

 

 

이렇게 함수가 만들어지면 아래 소스와 같이 Macro 사용자정의 함수명을 넣고 Description 에는 설명글을 넣습니다. 이것이 도움말이 됩니다. 그리고 Category 는 함수리스트에서 분류가 됩니다.

 

Private Sub Workbook_Open()

    Application.MacroOptions _

                Macro:="원의넓이구하기", _

                Description:="원의넓이 구하는 함수로써 인수로" & _

                             " 반지름을 넘기면 됩니다.", _

                Category:="GON 정의함수"

End Sub

 

엑셀을 닫고 다시 실행해 봅니다. 그리고 Application.MacroOptions 이 제대로 수행이 되었는지 확인해 보겠습니다. fn 을 눌러서 함수 마법사를 띄웁니다. 그리고 범주선택콤보박스를 선택합니다. 그럼 위에서 정의한 범주가 나올겁니다. 범주안에 미리 정의한 함수명이 들어가 있는 것을 확인할 수 있습니다.

엑셀(Excel) VBA – 사용자정의 함수 세부내용 VB 코드로 등록하기

 

 

Posted by 녹두장군

댓글을 달아 주세요