VBA – 화면 업데이트 끄기
In this Article
VBA 매크로가 화면을 조작하는 모습을 보는 것은 멋지지만, ScreenUpdating을 끄면(비활성화하면) 매크로가 더 빠르게 실행되도록 할 수 있습니다.
ScreenUpdating 비활성화하기
1. ScreenUpdating을 비활성화하려면 코드 시작 부분에 다음 줄을 넣습니다:
Application.ScreenUpdating = False
ScreenUpdating 활성화하기
2. 화면 업데이트를 다시 활성화하려면 코드 끝에 이 줄을 추가합니다:
Application.ScreenUpdating = True
VBA ScreenUpdating 예제
프로시저는 다음과 같이 작성할 수 있습니다:
Sub ScreenUpdating_Example()
Application.ScreenUpdating = False
'Do Something
Range("a1").Copy Range("b1")
Range("a2").Copy Range("b2")
Range("a3").Copy Range("b3")
Application.ScreenUpdating = True
End Sub
ScreenUpdating 새로고침
ScreenUpdating을 비활성화하면 VBA 코드가 훨씬 빠르게 실행될 뿐만 아니라 작업이 더 전문적으로 보입니다. 최종 사용자는 일반적으로 프로시저의 백그라운드 작업을 보고 싶어하지 않습니다(특히 프로시저가 느리게 실행되는 경우). 또한 최종 사용자가 숨겨진 워크시트 등의 비하인드 기능(예: 숨겨진 워크시트)을 보지 않기를 원할 수도 있습니다. 거의 모든 프로시저에서 화면 업데이트 기능을 비활성화했다가 다시 활성화하는 것이 좋습니다.
하지만 화면을 새로 고치고 싶은 경우가 있습니다. 화면을 새로 고치려면 일시적으로 ScreenUpdating을 다시 켜야 합니다(화면 “새로 고침” 명령이 없음):
Application.ScreenUpdating = True
'Do Something
Application.ScreenUpdating = False
VBA 설정 – 코드 속도 향상하기
VBA 코드 속도를 향상시키기 위해 사용할 수 있는 몇 가지 다른 설정이 있습니다.
자동 계산을 비활성화하면 속도에 큰 차이를 만들 수 있습니다:
Application.Calculation = xlManual
상태 표시줄을 비활성화해도 약간의 차이를 만들 수 있습니다:
Application.DisplayStatusBar = False
통합 문서에 이벤트가 포함된 경우 일반적으로 프로시저를 시작할 때 이벤트를 비활성화해야 합니다:
Application.EnableEvents = False
마지막으로, Excel에서 페이지 나누기 기능을 다시 계산하려고 할 때 VBA 코드의 속도가 느려질 수 있습니다(참고: 모든 프로시저가 영향을 받는 것은 아님니다). 페이지 나누기 표시를 비활성화하려면 다음 코드 줄을 사용합니다:
ActiveSheet.DisplayPageBreaks = False
간편한 VBA 코딩
온라인에서 VBA 코드를 더 이상 검색하지 않아도 됩니다. 초보자도 최소한의 코딩 지식으로 프로시저를 처음부터 코딩할 수 있습니다. 시간 절약이 가능하고 모든 사용자를 위한 VBA 코드 작성기인 AutoMacro에 대해 자세히 알아보세요!