Guillermo에는 그가 일상적으로 실행하는 일련의 매크로가 있으며 각 매크로를 수동으로 실행하면 제대로 작동합니다. 그는 모든 매크로를 “RunAll”매크로에 배치하려고했지만 (따라서 6 개의 개별 매크로 대신 하나의 매크로 만 실행하면됩니다) 이제 그중 하나가 제대로 실행되지 않습니다. RunAll 매크로를 실행하면 셀이 보호되고 읽기 전용이라는 오류가 발생합니다. 그러나 시트에 대한 보호 기능이 없으며 매크로를 개별적으로 실행하면 오류가 발생하지 않습니다.

개별적으로 잘 실행되지만 다른 매크로와 함께 실행되지 않는 매크로가 제대로 작동하지 않게하는 무언가를 만나는 것은 당연합니다. 이는 매크로를 개별적으로 실행했을 때와 다른 상태로 통합 문서를 떠나기 전에 실행되는 매크로가 있음을 의미합니다.

예를 들어, 잘못 작동하는 매크로가 시리즈에서 세 번째로 실행되는 경우 처음 두 매크로를 확인하여 수행중인 작업을 확인하십시오. 선택한 셀을 변경합니까? 활성 워크 시트를 변경합니까? 세 번째 매크로가 예상하는 조건을 변경합니까? 이로 인해 세 번째 매크로가 제대로 작동하지 않을 수 있습니다.

두 번째 제안 인 활성 워크 시트에 대한 가장 가능성이 높은 시나리오입니다. 매크로를 개별적으로 실행하는 경우 특정 워크 시트를 활성화 한 상태에서 매크로를 실행할 가능성이 높습니다. 그러나 다른 매크로는 활성 워크 시트를 다른 워크 시트로 변경할 수 있으며 다른 워크 시트는 보호 기능이 적용된 워크 시트 일 수 있습니다.

해결책은 각 매크로를 확인하여 위치 정보 (워크 시트, 활성 셀, 선택한 셀 등)를 저장하는지 확인하는 것입니다.

변경하기 전에 저장되면 매크로 끝에서 쉽게 복원 할 수 있습니다.

그래도 작동하지 않으면 디버깅을 수행해야 할 수 있습니다. “RunAll”매크로에서 VBA 편집기를 사용하여 실패한 매크로를 호출하는 줄에 중단 점을 설정합니다. 그런 다음 “Step Into”를 사용할 수 있습니다.

명령을 실행하여 매크로로 들어가서 오류가 발생한 위치를 조사합니다. 매크로가 변경하려는 워크 시트와 셀에 특히주의 한 다음 해당 워크 시트와 셀로 이어지는 이전 매크로에서 무슨 일이 벌어지고 있는지 파악할 수 있는지 확인합니다. 직접 실행 창에서 다음 줄 중 하나를 사용하여 현재 위치를 확인할 수 있습니다.

? ActiveSheet.Name ? ActiveCell.Address

이러한 유형의 오류를 추적하는 것은 어려울 수 있지만 터널 끝의 빛은 사용자가 많은 시간을 절약 할 수있는 완벽하게 작동하는 “RunAll”매크로를 얻게 될 것이라는 점입니다.

_ 참고 : _

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

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

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

이 팁 (12710)은 Office 365의 Microsoft Excel 2007, 2010, 2013, 2016, 2019 및 Excel에 적용됩니다.