VBA – 자동 계산 끄기(또는 켜기)

Written by

Editorial Team

Reviewed by

Steve Rynearson

Translated by

Younjung Kim

Last updated on 3월 9, 2023

셀 값을 업데이트할 때마다 Excel은 통합 문서를 다시 계산하는 프로세스를 거칩니다. Excel 내에서 직접 작업할 때는 99.9%의 경우 이 프로세스가 수행되기를 원합니다(매우 큰 통합 문서로 작업하는 경우는 예외). 하지만 이렇게 하면 VBA 코드의 속도가 매우 느려질 수 있습니다. 매크로를 시작할 때 계산을 수동으로 설정하고 매크로가 끝날 때 자동 계산 설정을 복원하는 것이 좋습니다. 통합 문서를 다시 계산해야 하는 경우 Excel에 수동으로 계산하도록 지시할 수 있습니다. 

자동 계산 끄기

매크로를 xlmanual로 설정하여 매크로의 자동 계산을 끌 수 있습니다. 다음 VBA 코드를 사용하면 됩니다:

Application.Calculation = xlManual

자동 계산 다시 켜기

자동 계산을 다시 켜려면 xlAutomatic으로 설정합니다:

Application.Calculation = xlAutomatic

프로시저의 맨 처음에 자동 계산을 비활성화하고 마지막에 자동 계산을 다시 활성화하는 것이 좋습니다. 다음과 같이 표시됩니다:

자동 계산 비활성화 매크로 예제

Sub Auto_Calcs_Example()
    Application.Calculation = xlManual

    '실행할 코드


    Application.Calculation = xlAutomatic
End Sub

수동 계산

자동 계산이 비활성화되어 있는 경우 Calculate 명령을 사용하여 Excel이 강제로 다시 계산하도록 할 수 있습니다:

Calculate

개별 워크시트만 다시 계산하도록 Excel에 지시할 수도 있습니다:

Worksheets("sheet1").Calculate

VBA에 범위만 다시 계산하도록 지시할 수도 있습니다(VBA 계산 방법에 대한 문서를 읽으려면 클릭하세요).

코드는 다음과 같습니다:

Sub Auto_Calcs_Example_Manual_Calc()
    Application.Calculation = xlManual

    '실행할 코드

    '수동 계산
    Calculate
    
    '더 실행할 코드


    Application.Calculation = xlAutomatic
End Sub

VBA 설정 – 코드 속도 향상하기

코드 속도를 높이는 것이 목표라면 다음과 같은 다른 설정도 조정하는 것을 고려해야 합니다:

화면 업데이트를 비활성화하면 속도에 큰 차이를 만들 수 있습니다:

Application.ScreenUpdating = False

상태 표시줄을 끄는 것도 차이를 만들 수 있습니다:

Application.DisplayStatusBar = False

통합 문서에 이벤트가 포함된 경우 프로시저를 시작할 때 이벤트를 비활성화해야 합니다(코드 속도를 높이고 무한 루프를 방지하기 위해서):

Application.EnableEvents = False

마지막으로, Excel에서 페이지 나누기 기능을 다시 계산하려고 할 때 VBA 코드의 속도가 느려질 수 있습니다(참고: 모든 프로시저가 영향을 받는 것은 아님니다). DisplayPageBreaks를 끄려면 다음 코드 줄을 사용하세요:

ActiveSheet.DisplayPageBreaks = False

간편한 VBA 코딩

온라인에서 VBA 코드를 더 이상 검색하지 않아도 됩니다. 초보자도 최소한의 코딩 지식으로 프로시저를 처음부터 코딩할 수 있습니다. 시간 절약이 가능하고 모든 사용자를 위한 VBA 코드 작성기인 AutoMacro에 대해 자세히 알아보세요!

alt text

 

자세히 알아보기!

vba-free-addin

VBA 코드 예시 추가 기능

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

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

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

무료 다운로드

VBA 코드 예시로 돌아가기