매크로를 작성할 때 실행하도록 선택할 때마다 실행되도록 설계되었습니다. 워크 시트의 내용이 변경 될 때마다 실행되는 매크로를 개발해야하는 경우 어떻게해야합니까? 매크로를 자동으로 실행하려면 어떻게해야합니까? 이는 워크 시트의 셀 내에서 사용할 사용자 지정 함수를 만드는 경우에 특히 필요합니다.

이것이 Volatile 방법이 유용한 곳입니다. 매크로 내에 다음 문을 포함하기 만하면됩니다.

Application.Volatile

이렇게하면 매크로 결과가 워크 시트의 값에 따라 달라지며 워크 시트가 다시 계산 될 때마다 실행되어야 함을 Excel에 알립니다. 예를 들어, 다음 사용자 정의 함수를 고려하십시오.

Function CountCells(MyRange As Range)

Dim iCount As Integer     iCount = 0     For Each cell In MyRange         If cell.HasFormula Then             iCount = iCount + 1         End If     Next cell     CountCells = iCount End Function

이 함수는 셀에서 사용되는 경우 지정된 범위 내의 수식을 포함하는 셀 수를 계산합니다. 그러나 함수는 셀에 처음 입력 할 때 또는 수식이 포함 된 셀을 편집 할 때만 실행됩니다. 워크 시트가 다시 계산 될 때마다 함수가 다시 계산되도록하려면 함수 시작 부분에 Volatile 메서드를 추가합니다.

Function CountCells(MyRange As Range)

Dim iCount As Integer     Application.Volatile     iCount = 0     For Each cell In MyRange         If cell.HasFormula Then             iCount = iCount + 1         End If     Next cell     CountCells = iCount End Function

Application.Volatile 메서드를 포함하면 워크 시트가 다시 계산 될 때마다이 함수 (매크로)가 다시 실행됩니다.

_ 참고 : _

이 페이지 (또는 ExcelTips 사이트의 다른 페이지)에 설명 된 매크로를 사용하는 방법을 알고 싶다면 유용한 정보가 포함 된 특별 페이지를 준비했습니다.

link : / excelribbon-ExcelTipsMacros [새 브라우저 탭에서 특별 페이지를 열려면 여기를 클릭하세요].

_ExcelTips_는 비용 효율적인 Microsoft Excel 교육을위한 소스입니다.

이 팁 (2013)은 Microsoft Excel 97, 2000, 2002 및 2003에 적용됩니다. 여기에서 Excel (Excel 2007 이상)의 리본 인터페이스에 대한이 팁 버전을 찾을 수 있습니다.

link : / excelribbon-Forcing_a_Macro_to_Run_when_a_Worksheet_is_Recalculated [워크 시트가 다시 계산 될 때 매크로 실행 강제].