sourcetip

2010년 무한 루프 제어(2013년) Excel VBA

fileupload 2023. 4. 13. 21:05
반응형

2010년 무한 루프 제어(2013년) Excel VBA

무한 루프를 생성하는 코드를 새 Excel로 작성하면 Ctrl + Break이 작동하지 않습니다.Esc 키 등도 마찬가지입니다.

제가 웹을 다 찾아봤는데 마이크로소프트가 버그를 가지고 있고 그것을 고치려고 하지 않는 것 같아요.

Ctrl+Break 기능을 VBA에 재도입하여 향후 이 문제가 발생해도 작업을 잃거나 강제 종료하지 않도록 할 수 있는 방법이 있습니까?

Alt + Esc.고장날 때까지 키를 누르세요.

Windows 7부터는 열려 있는 모든 창을 순환합니다.신경 쓰지 말고 계속 쥐어짜세요.

Office 2013에서는 적어도 Ctrl+Scroll Lock을 사용합니다.설정을 변경하거나 아무것도 활성화할 필요가 없었습니다.

(Blatant plug: 이 정보의 원본에 링크하는 블로그 게시물: )

이 매우 짜증나는 행동을 완화하는 한 가지 방법은 다음을 포함하는 것입니다.

DoEvents

루프 안에서.반복마다 실행할 필요는 없습니다.정기적으로 호출되는 한 Ctrl Break은 계속 작동합니다.

주의: 보통 퍼포먼스에 영향을 주지 않도록 코드가 디버깅된 후 이 코드를 삭제합니다.

이전에 제안한 솔루션을 사용해 보았지만 소용이 없는 경우 이 방법을 사용해 보십시오.효과가 있었다 (Windows 8, Excel 2016)

VBA 코드 창에서 Alt+ESC 키를 누른 상태에서 (그 창을 끌듯이) 왼쪽 버튼을 클릭합니다.실행을 중단하고 계속할지 아니면 디버깅할지...물론 debug를 선택했습니다.

매크로가 실행되지 않을 때 Ctrl+break 키를 누르면 개발자 외부에서 매크로를 실행하는 경우에만 작동합니다.

다른 방법으로 루프에 의도적으로 오류가 발생합니다.예를 들어 루프가 1000회 이상 실행되지 않아야 합니다.

Function XYZ()
do while(..)
errcnt = errcnt + 1

if errcnt > 1000 then
  cells.find(what:="Chunk Norris").activate
exit function
endif

loop
end function

에러가 발생하고, 코드가 「브레이크」됩니다.

설계 모드인 경우 브레이크(Ctrl + Break)도 VBA 편집기에서 사용할 수 없습니다.이 경우 정사각형 중지 아이콘 오른쪽에 있는 Design Mode(설계 모드) 아이콘을 누를 수 있습니다.그러면 편집기가 일반 모드로 돌아가며 중단 옵션을 사용할 수 있습니다.

서투른 키보드에 브레이크 버튼이 없어요.유일한 대안은 X를 눌러 프로그램을 종료하거나 alt+F4를 누르는 것입니다.나도 코드를 하나 써야겠어.

answers.microsoft.com 에서 를 누르기만 하면 됩니다.ESCExcel 에 excel excel excel excel excel excel excel excel excel excel excel excel excel excel excel excel excel 。2016년

언급URL : https://stackoverflow.com/questions/21737796/control-break-out-of-infinite-loop-in-2010-2013-excel-vba

반응형