영어로 읽기

다음을 통해 공유


Excel 2013에서 VBA 코드를 실행할 때 Excel의 일부가 흰색 또는 회색으로 바뀝니다.

증상

Microsoft Excel 2013에서 Microsoft VBA(Visual Basic for Applications) 코드를 실행하면 Office 테마에 따라 Excel의 일부가 흰색 또는 회색으로 나타날 수 있습니다. 코드가 완료될 때까지 비어 있습니다. 이 문제는 VBA 코드가 매크로가 완료되기 전에 사용자가 결과를 볼 수 있을 만큼 오래 실행되는 매크로에서 다음 작업 중 하나 이상을 수행하는 경우에 발생할 수 있습니다.

  • 셀을 반복적으로 선택
  • 시트 삽입
  • 작업창 업데이트 또는 열기
  • 통합 문서 추가

원인

이 문제는 새 그래픽 엔진을 최적화하기 위해 Microsoft Office 2013에서 변경된 내용으로 인해 발생합니다.

해결 방법

  1. ScreenUpdatingto를 사용하여 Excel의 화면 업데이트를 사용하지 않도록 설정하면 해당 변경 내용이 비활성화된 동안 변경 내용이 표시되지 않습니다. 이렇게 하면 매크로 성능도 향상될 수 있습니다.

    VB
    Application.ScreenUpdating = False
    Workooks.Add
    Application.ScreenUpdating = True
    
  2. 화면 변경 내용을 확인해야 하는 경우 화면이 흰색으로 표시되는 코드의 줄 뒤에 DoEvents 명령을 삽입합니다. DoEvents를 아쉽게 사용하면 매크로 성능을 유지하는 데 도움이 됩니다.

    VB
    Workbooks.Add
    DoEvents
    

상태

이 제한 사항은 Excel 2013에서 알려진 제한 사항입니다.

참고

모든 버전의 Excel에서 Windows가 애플리케이션을 흰색으로 전환하고 응답하지 않음을 표시할 때 장기 실행 매크로에서 비슷한 효과가 발생할 수 있습니다. 매크로가 실행되는 동안 Excel이 Windows에 응답하지 않기 때문에 이 문제가 발생합니다. 또한 DoEvents는 Excel이 Windows에 응답하고 애플리케이션 화면을 복구할 수 있도록 하여 이 시나리오를 지원합니다.