2013-04-17 9 views
2

매크로가 24/7 연속 루프에서 실행됩니다. 컴퓨터가 가끔 멈추지 만 엑셀 코드에 오류가 없습니다. 코드는 효율적으로 실행하기 위해 다음을 사용Excel에서 매크로가 응답하지 않음

DoEvents 
Application.DisplayAlerts = False 
Application.ScreenUpdating = False 
Application.Calculation = xlCalculationManual 
startagain: 
'code 
'calculations, alerts, and screen are updated 
GoTo startagain 
나는 또한 내가 (값과 수식을 붙여되는 코드의 대량) 복사 및 붙여 넣기의 효율적인 방법입니다 믿는 것을 사용하고

:

Length = Range("C1").Value 
Set rng = Sheets("Linked Data").Range("A2:AA" & Length) 
Range("A2").Value = rng.Value 

컴퓨터의 프로세서 우선 순위를 EXCEL.exe에 대해 "높음"으로 변경했습니다. 컴퓨터 성능을 최대 성능으로 설정하고 불필요한 추가 기능을 모두 해제했으며 autorecover 저장 기능을 해제했습니다.

위의 모든 사항에도 불구하고 컴퓨터가 동결되어 응답하지 않을 수 있습니다. 신뢰성을 높이기 위해 할 수있는 일을 아는 사람이 있습니까?

+0

이 시스템에서 실행중인 다른 응용 프로그램에 대해 사용이 링크를 참조 할 수있다? 모든 사용자 상호 작용? 모든 루프의 끝에서 rng 변수를 아무 것도 설정하지 않을 수도 있습니다. –

+0

루프 내부에 DoEvents 절이 있습니까? startagain 바로 아래에 넣으십시오. – KacireeSoftware

+0

실행중인 다른 응용 프로그램이 없습니다. 변수를 사용한 후에 변수를 지우는 기능을 추가합니다. 루프 내에서 doevents를 움직여 보았을 때 어떤 장점이 있습니까? – user2263642

답변

0

고토를 피하고 Application.OnTime Method을 사용하면 절차를 반복적으로 실행할 수 있습니다.

컴파일 된 코드로 성능 악화를 초래할 수있는 자동화 추가 기능을 만들 수도 있습니다.

친절 참조이 link

또한 성능 imporvement link

+0

당신이 의미하는 바를 더 자세히 정의 할 수 있습니까? "컴파일 된 코드로 성능 악화를 초래할 수있는 자동화 추가 기능을 만들 수도 있습니다." – user2263642

+0

Application.OnTime 메서드를 사용할 때 이점이 있습니까? gotostart를 사용하면 매크로가 완료 되 자마자 매크로가 데이터를 새로 고칠 수 있습니다. – user2263642

+0

자동화 추가 기능은 xla addin (solver addin 또는 analysis toolpack)과 비슷하지만 컴파일 된 코드이므로 더 빠르게 실행됩니다. 자세한 내용은 제공된 링크를 참조하십시오. 또한 성능 향상을 위해 무엇인가를 요구할 때 전체 코드를 넣으십시오. 그러면 더 나은 솔루션을 얻을 수 있습니다. – Santosh