사용자 정의 함수는 엑셀 고유의 worksheet함수와 유사하게 동작한다. 즉, 함수의 인수가 변경되었을 경우에만 다시 계산된다. 실제 사용시에는 해당 셀의 내용이 변경될 때 마다 다시 계산되도록 할 필요가 있을 것이다.
이 경우, 아래의 명령문을 함수 프로시저에 추가해 주면 된다. 주의 할 점은 아래 명령어가 수행된 이후부터 자동으로 재계산되도록 설정된다는 것이다. 따라서 애초에 이 명령문이 포함된 함수가 한번이라도 불려져야 의미가 있다.
위와 같이 설정시 엑셀 고유함수인 RAND()와 유사하게 동작한다.
이 경우, 아래의 명령문을 함수 프로시저에 추가해 주면 된다. 주의 할 점은 아래 명령어가 수행된 이후부터 자동으로 재계산되도록 설정된다는 것이다. 따라서 애초에 이 명령문이 포함된 함수가 한번이라도 불려져야 의미가 있다.
Application.Volatile True
Function NonStaticRand() ' Returns a random number that ' doesn't change when recalculated Application.Volatile True NonStaticRand = Rnd End Function
위와 같이 설정시 엑셀 고유함수인 RAND()와 유사하게 동작한다.
'공부 > VBA' 카테고리의 다른 글
VBA on-line 도움말이 나오지 않을 경우 확인 사항 (0) | 2011.04.14 |
---|---|
[VBA] ByVal 키워드 사용 (0) | 2011.03.08 |
[VBA] 프로그래밍 기초 (2) | 2011.03.04 |