기본적으로, UDF의 (사용자 정의 함수) 엑셀 VBA에서 휘발성이 아니다. 함수의 인수 중 하나가 변경 될 때 그들은 단지 다시 계산됩니다. 워크 시트의 셀에서 계산이 발생할 때마다 일시적 함수는 다시 계산됩니다. 의 좀 더 이것을 설명하기 쉬운 예를 살펴 보자.

  1. Visual Basic 편집기 및 삽입 모듈을 클릭하십시오.

선택한 셀의 합이 셀 아래의 셀을 반환하는 함수라는 MYFUNCTION을 만듭니다.

다음 코드 줄을 추가합니다 :

Function MYFUNCTION(cell As Range)

MYFUNCTION = cell.Value + cell.Offset(1, 0).Value

End Function
  1. 이제 당신은 다른 엑셀 기능처럼,이 기능을 사용할 수 있습니다.

Non-volatile Function in Excel VBA

4.이 비 휘발성 기능입니다. 비 휘발성 함수는 다시 계산 될 때 함수의 인수 변화의. 8로 셀 B2의 값을 변경

Function’s Argument Changes

  1. 이제 11 셀 B3의 값을 변경

Any Other Cell Changes

설명 : 시트의 다른 셀을 변경할 때 비 휘발성 기능이 다시 계산되지 않습니다.

  1. 업데이트 기능은 함수가 휘발성 수 있도록 다음과

Function MYFUNCTION(cell As Range)

Application.Volatile

MYFUNCTION = cell.Value + cell.Offset(1, 0).Value

End Function

제 12 변경 셀 B3의 값

결과 :

Volatile Function in Excel VBA

참고 : (수식 입력 줄에 커서를 놓고 Enter 키를 눌러하거나 새로 고침)는 휘발성 있도록 기능을 다시 입력해야합니다.