Excel 추가 기능에서 배열이 아닌 변경 UDF 구현
Excel 추가 기능에서 셀 값을 변경하는 UDF는 일반적으로 금지됩니다. 그러나 Windows 타이머와 Application.OnTime 타이머의 조합을 사용하면 이 제한을 우회할 수 있습니다.
Windows 타이머 제한
Windows 타이머는 셀이 있는 동안 VBA 코드를 실행할 수 없습니다. 편집 중이거나 대화 상자가 열려 있습니다. 이러한 제한으로 인해 UDF 내의 셀 속성을 직접 수정할 수 없습니다.
해결책: Application.OnTime Timer
이 제한을 우회하려면 UDF 내에서 Windows 타이머를 사용하여 Application.OnTime 타이머를 예약합니다. Application.OnTime 타이머는 안전하며 셀이 편집되지 않고 열려 있는 대화 상자가 없을 때만 실행됩니다.
UDF 구현
UDF 구현(AddTwoNumbers): AddTwoNumbers UDF 내에서 다음을 계산합니다. 평소대로 합산해. 계산 후:
첫 번째 타이머 루틴(AfterUDFRoutine1):
두 번째 타이머 루틴(AfterUDFRoutine2):
사용 예
Private Sub TestAddTwoNumbers() Dim Cell As Range Set Cell = Range("A1") ' Cache the reference in the UDF Cell.Formula = "=AddTwoNumbers(1, 2)" ' Trigger the timer routine Cell.Calculate End Sub
계산 시 셀 수식은 다음과 같이 변경됩니다. 호출자 옆의 셀을 현재 값으로 설정하여 새 값을 반영합니다.
위 내용은 Excel 추가 기능에서 배열이 아닌 변경 UDF를 어떻게 구현할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!