엑셀VBA의 사용자 함수는 다른 사람과 공유하기가 어렵다.
이번에 하고자 하는 것은 반복 사용되는 엑셀함수를 매크로로 만들어 두는 것이다.
말이 좀 애매한데...
아래와 같은 표가 있다고 하자
예를 들어 올해(21년) 실적과 전년(20년) 실적의 성장율을 구한다고 하자.
시트에서 함수를 쓴다면,
=(올해실적 - 전년실적) / 전년실적
이라는 함수를 작성해야 한다.
괄호치기도 그렇고, 전년실적을 두번 찍어주는 것이 귀찮다.
아래 기능이 되었으면 한다.
- 매크로로, 올해실적과 전년실적 셀을 선택하면, 해당 함수가 기재된다.
- 자동완성을 써야할 가능성이 높으므로, 상대참조가 먹도록 한다.
- 자동완성을 써야할 가능성이 높으므로, 상대참조가 먹도록 한다.
마찬가지로, 달성율과 RATE함수를 활용한 CAGR을 구해본다.
(옆 창은 만든 매크로를 모아놓은 사용자폼이다.)
함수로 작성이 되기 때문에,
행이 추가되었을 경우, 상대참조가 되어, 자동완성도 가능하다.
말은 장황하지만 별거 없다.
아래 코드처럼 워크시트 함수를 노가다로 적어주면 된다.