VBA DoEvents | DoEvents 기능을 언제 어떻게 사용합니까?

Excel VBA DoEvents 함수

VBA DoEvents 덕분에 코드를 백그라운드에서 실행할 수 있으며 동시에 Excel 및 기타 응용 프로그램 소프트웨어에서도 작업 할 수 있습니다. DoEvents를 사용하면 다른 소프트웨어와 함께 작업 할 수있을뿐만 아니라 코드 실행을 중단 할 수도 있습니다.

DoEvents 함수는 우리가 작업중인 컴퓨터의 운영 체제에 제어권을 전달합니다.

DoEvents 기능을 사용하는 방법?

요구 사항이 큰 경우 많은 양의 VBA 코드가 필요합니다. 이 경우 Excel이 잠시 멈추고 멈추고 때로는 응답하지 않게됩니다.

이 VBA DoEvents Excel 템플릿은 여기에서 다운로드 할 수 있습니다 – VBA DoEvents Excel 템플릿

예를 들어 아래 코드를보십시오.

암호:

 Sub DoEvents_Example1 () Dim i As Long For i = 1 ~ 100000 Range ( "A1"). Value = i 다음 i End Sub 

위의 코드는 1부터 100000까지 일련 번호를 삽입합니다. 작업을 실행하는 데 1 분 이상이 쉽게 걸립니다. 실행 중에 Excel은 작업을 완료하는 데 상당한 시간 동안 중단됩니다. 이 시간 동안 Excel은 "Excel Not Responding"메시지를 표시합니다.

또한 작업중인 워크 시트에 액세스 할 수 없습니다. 이것은 실망스러운 일입니다. 그러면 코드가 화면 뒤에서 실행되는 동안 Excel 워크 시트를 사용 가능하게 만드는 방법은 무엇입니까?

이는 VBA DoEvents 함수를 추가하여 수행 할 수 있습니다 .

암호:

 Sub DoEvents_Example1 () Dim i As Long For i = 1 ~ 100000 Range ( "A1"). Value = i DoEvents 다음 i End Sub 

코드에 DoEvents 함수를 추가하는 순간 Excel 워크 시트에 액세스 할 수 있습니다.

위에서 코드가 실행중인 것을 볼 수 있지만 워크 시트에 액세스 할 수 있습니다.

코드 실행 중단

코드가 화면 뒤에서 실행될 때 행, 열을 추가하고 동일한 것을 삭제할 수 있으며 시트의 이름을 바꿀 수 있으며 다른 많은 작업도 수행 할 수 있습니다. DoEvents를 추가하는 순간 vba 코드가 빠르게 실행되고 언급 된 작업이 자체적으로 실행되고 있음을 알 수 있습니다.

  • DoEvents 함수의 위험 중 하나는 워크 시트 또는 통합 문서를 전환 할 때 활성 시트 값을 덮어 쓰는 것입니다.
  • 또 다른 위험은 셀에 값을 입력하면 코드 실행이 중단되고 알림조차받지 않는다는 것입니다.
참고 : 위의 DoEvents의 위험에도 불구하고 여전히 편리한 기능입니다. 우리가 작성한 코드의 버그를 수정하려고 할 때 디버깅 프로세스의 일부로 DoEvents를 사용할 수 있습니다.