사용할만한 상황
아래와 같은 표가 있을 때, total 열을 반복적으로 복사를 해야하는 상황.....(예시가 적절하지는 않은 것 같다...)이 있다면, total을 산출하는 수식을 복사한다면 편할 수 있다.
일반적으로는 열을 옮겨서(잘라내기, cut) 수식을 유지하겠지만, 아주 간헐적으로 해당 내용을 그대로 사용하고 싶다면, 수식을 따로 text형태로 일일이 복사해줘야하는데, 이를 대신해줄만한 사용자 함수를 add-in으로 등록해 두면 사용할 수 있다.
예시
예시에서는 간단한 수식이지만, 가령 배열수식같이 복잡하다는 가정을 해보자.
아래 그림처럼, 사용자 함수를 통해 수식을 열 복사시 사용할 수 있다.
아래 그림에서 fxCopyFormula는 사용자 함수이다.
fxCopyFormula 함수는 vba의 Evaluate 함수를 사용한 사용자 함수이며, 코드는 아래와 같다.
구글링을 통해서 수식을 찾아보니 Application.Volatile 구문이 있는데, 재계산을 위한 구문인것 같은데, 왜 사용해야하는지 정확하게는 모르겠다. 시간될 때 찾아봐야곘다.
Function fxCopyFormula(rng As Range)
Application.Volatile
fxCopyFormula = Application.Caller.Parent.Evaluate(rng.Value)
End Function
xla파일을 만들어둔다면, 별 힘들이지 않고 사용할 수 있다.
끝.