Dave에는 여전히 이전 버전의 Excel 97이있는 Windows XP 시스템이 있습니다. 이 시스템에는 워크 시트의 정보를 처리하는 데 사용되는 매크로가 있습니다. 약 12 초 동안 500 행의 정보를 처리 할 수 ​​있습니다. 최신 컴퓨터에서 Windows 7에서 Excel 2010을 실행하는 경우 동일한 데이터에 대해 작동하는 동일한 매크로를 실행하는 데 약 3-4 분이 걸립니다. 두 시스템 모두 동일한 양의 메모리 (4Gb)와 유사한 프로세서를 사용합니다. Dave는 최신 버전의 Excel에서 매크로가 훨씬 느리게 실행되는 이유를 궁금해합니다.

실제로 코드를 보지 않고 가장 일반적인 주석 이외의 것을 만드는 것은 매우 어렵지만, 그것이 말할 것이 없다는 것을 의미하지는 않습니다. :>) 가장 먼저 할 일은 매크로가 어떻게 작동하는지 확인하는 것입니다. 예를 들어 워크 시트의 모든 행을 단계별로 처리하여 처리합니까? (매크로가 500 행의 정보를 처리하고 있다고해서 워크 시트의 모든 행을 단계별로 실행하지 않는다는 의미는 아닙니다.) 이전 버전의 Excel에서는 워크 시트에서 65,000 개 이상의 행만 사용했기 때문입니다. 최신 버전은 16 배 많은 행 (1,000 만 개 이상)을 처리 할 수 ​​있습니다. 이전에 매크로를 실행하는 데 12 초가 걸렸다면 16 배는 192 초로 3-4 분 사이입니다.

Excel 2010이 이전 버전의 Excel에서 수행되지 않은 방식으로 프린터 드라이버와 다소 정기적으로 통신한다는 보고서도 있습니다. 매크로 시작시 통신을 해제하여 이것이 매크로 속도를 늦추는 지 알아낼 수 있습니다.

Application.PrintCommunication = False

매크로가 끝날 때 Excel에서 프린터와 다시 통신 할 수 있도록 속성을 다시 True로 설정해야합니다.

그 차이가 미묘하더라도 새로운 기계와 다른 점이있을 수도 있습니다. 예를 들어, 최신 컴퓨터는 안티 바이러스 프로그램에서 음성 인식 소프트웨어에 이르기까지 이전 컴퓨터와 다른 백그라운드 프로그램을 실행할 수 있습니다. 또한 이전 시스템에없는 다른 Excel 추가 기능이로드 될 수 있습니다. 그러한 것들이 매크로 성능에 영향을 미칠 것이라고 생각하지는 않지만 실제로는 가능합니다. 물론로드중인 항목을 추적하고 비활성화 한 다음 매크로를 다시 실행하기 전까지는 알 수 없습니다.

또한 최신 컴퓨터에는 주기적으로 폴링해야하는 외부 장치가있어 속도가 느려질 수 있습니다. 사무실에 USB 포트를 통해 연결된 외장 하드 드라이브가있는 시스템이 있습니다. 때때로 시스템 자체 (Windows)가 나가서 외장 드라이브의 전원을 켜야하며, 이런 일이 발생하는 동안 기본적으로 컴퓨터에서 작업이 중지됩니다. 유죄 장치는 USB 첨부 파일, 스캐너, 네트워크 드라이브 등이 될 수 있습니다. 특히 오래 걸리지 않는 작업 속도를 늦출 때 매우 실망 스러울 수 있습니다.

이 경우에 좋은 제안은 단일 Excel 2010 시스템에서 찾은 내용에만 의존하지 않는 것입니다. 여러 대의 컴퓨터에 액세스 할 수있는 경우 (아마도 사무실 외부에있는 컴퓨터도있을 수 있음) 매크로를 사용하여 어떤 일이 발생하는지 확인하십시오. 더 빨리 실행되면 느린 2010 시스템에서 보이지 않는 것이 있다는 것을 알 수 있습니다.

모든 것이 실제로 “동일”하다고 판단되면 시스템의 VB 편집기에 들어가 매크로의 다양한 부분에 대한 타이밍을 시작해야 할 수 있습니다. 이것은 지루하지만 매크로가 정확히 멈춰있는 위치를 좁히는 데 도움이 될 수 있습니다.

이 후자의 길을 가기로 결정했다면 좋은 Excel VBA 프로그래머 용 참고서에 투자 할 가치가 있다는 것을 알게 될 것입니다. 시장에 여러 가지가 있으므로 조금씩 쇼핑하십시오. (John Walkenbach가 작성한 어떤 것도 잘못 될 수 없으며 _Excel 2007 VBA Programmer ‘s Reference_에 대해 좋은 소식을 들었습니다.)

_ 참고 : _

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

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

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

이 팁 (12440)은 Microsoft Excel 2010에 적용됩니다.