VBA – 화면 업데이트 끄기

Written by

Editorial Team

Reviewed by

Steve Rynearson

Translated by

Younjung Kim

Last updated on 4월 28, 2023

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

vba screen updating

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에 대해 자세히 알아보세요!

VBA Turn Off On ScreenUpdating

 

vba-free-addin

VBA 코드 예시 추가 기능

본 웹사이트에 있는 모든 코드 예시에 쉽게 접근해보세요.

메뉴로 이동하여 클릭만 하면 코드는 모듈에 바로 입력됩니다. .xlam 추가 기능.

(설치가 필요 없습니다!)

무료 다운로드

VBA 코드 예시로 돌아가기