#VBA #사용자정의함수 #Add-in추가
많은 엑셀 사용자들은 내장 함수만으로는 원하는 결과를 얻기 어려울 때가 있습니다. 이럴 때 사용자 정의 함수(User-Defined Function, UDF)을 만들어서 필요한 작업을 수행할 수 있습니다. 이번 글에서는 엑셀 VBA를 사용하여 사용자 정의 함수를 만드는 방법과 이를 Add-in으로 추가하는 방법을 알아보겠습니다.
1. VBA 코드
사용자 정의 함수를 만들려면 VBA 코드 에디터를 사용해야 합니다. 아래는 원통의 부피를 계산하는 사용자 정의 함수의 코드 예시입니다.
1
2
3
4
5
6
7
|
Function CylVol(r As Double, h As Double) As Double
Dim pi As Double
pi = 4 * Atn(1)
CylVol = pi * r ^ 2 * h
End Function
|
cs |
2. 코드 해석
1. Function CylVol(r As Double, h As Double) As Double
- 사용자 정의 함수 CylVol을 정의.
- CylVol은 함수의 이름. 엑셀 워크시트에서 이 이름을 사용하여 함수를 호출.
- (r As Double, h As Double)는 함수에 전달되는 매개변수. 여기서 r은 반지름, h는 높이입니다.
- 각 매개변수와 사용자 정의 함수의 타입을 여기서 명시해야함
2. Dim pi As Double
- 사용자 정의 함수 CylVol을 계산하기 위한 변수 pi를 선언
- 해당 변수는 사용자 정의 함수의 매개변수가 아니므로 프로시저 내에서 선언함
3. pi = 4 * Atn(1)
- 아크탄젠트 함수 'Atn'을 사용하여 원주율을 근사적으로 계산
4. CylVol = pi * r ^ 2 * h
- 원통의 부피를 계산하는 수식을 이용하여 함수가 반환할 값을 계산하고 변수 CylVol에 할당
3. 엑셀 내 사용
위 코드를 작성하면 아래와 같이 엑셀 내에서 내장함수처럼 사용 가능합니다.
4. 사용자 정의 함수 Add-in으로 추가하기
위의 방법은 특정 엑셀 파일에서만 사용자 정의 함수를 이용할 수 있습니다. 하지만 함수를 여러 엑셀 파일에서 공통적으로 사용하고 싶다면, 함수를 Add-in으로 저장하는 방법을 사용할 수 있습니다.
1. VBA 코드 에디터에서 모듈 작성: 위와 같이 함수 코드를 작성한 후 모듈에 저장합니다.
2. Add-in으로 저장: 엑셀메뉴 "파일" > "다른 이름으로 저장" 을 선택하고 파일 형식을 "Excel 추가 기능"으로 변경한 후 저장합니다. (참고로 엑셀의 Add-in 기본 경로는 C:\Users\사용자이름\AppData\Roaming\Microsoft\AddIns)
3. Excel 옵션에서 추가 기능 추가: 엑셀메뉴 "파일" > "옵션" > "추가 기능" > "관리" 옆의 이동을 클릭 후, 방금 저장한 Add-in 파일을 추가하면 됩니다.
'컴알못 > VBA' 카테고리의 다른 글
[VBA] 변수 타입과 범위 (0) | 2023.08.22 |
---|---|
[VBA] Function과 Subroutine (0) | 2023.08.22 |
[VBA] R1C1 참조 스타일 (0) | 2023.08.21 |
[VBA] VBA에서 다른 파일의 모듈 실행하기(Application.Run) - 1 (0) | 2023.08.14 |
[VBA] Option Explicit 사용 이유 (0) | 2023.08.14 |
[VBA] 자동 필터 (.AutoFilter) (0) | 2023.08.13 |
[VBA] 행 높이/열 너비 자동 조절 (.AutoFit) (0) | 2023.08.13 |
[VBA] 데이터가 입력된 마지막 행/열 찾기(.End) (0) | 2023.08.13 |