본문 바로가기
카테고리 없음

엑셀 VBA 코드 성능 향상을 위한 주요 설정

by 퍼포먼스마케팅코더 2023. 9. 5.
반응형

VBA 코드 성능 향상을 위한 주요 설정

  1. Screen Updating: 화면 업데이트를 끄면 코드 실행 속도가 빨라집니다.
  2. Displaying Page Breaks: 페이지 구분선 표시를 끄면 코드 실행이 더 빨라집니다.
  3. Calculation Modes: 자동 계산을 끄면 코드 실행이 빨라집니다.
  4. Enable Events: 이벤트 트리거를 끄면 코드 실행이 더 안정적이고 빨라집니다.

예시 코드

Public CalcState As Long
Public EventState As Boolean
Public PageBreakState As Boolean

' 성능 최적화를 위한 초기 설정
Sub OptimizeCode_Begin()
    Application.ScreenUpdating = False
    EventState = Application.EnableEvents
    Application.EnableEvents = False
    CalcState = Application.Calculation
    Application.Calculation = xlCalculationManual
    PageBreakState = ActiveSheet.DisplayPageBreaks
    ActiveSheet.DisplayPageBreaks = False
End Sub

' 성능 최적화를 끝내고 원래 설정으로 복구
Sub OptimizeCode_End()
    ActiveSheet.DisplayPageBreaks = PageBreakState
    Application.Calculation = CalcState
    Application.EnableEvents = EventState
    Application.ScreenUpdating = True
End Sub


Sub MyAwesomeMacro()

Dim x As Long
Dim y As Long
Dim cell As Range

'Optimize Code
  Call OptimizeCode_Begin

'Insert your macro code here...
  x = Range("A1")
  y = Range("A3")
  
  For Each cell In Range("C2:C2000)")
    cell.Value = (x - cell.Row) / y
  Next cell
  
'Optimize Code
  Call OptimizeCode_End

End Sub

코드 사용 방법

  • 매크로 시작 부분에 OptimizeCode_Begin을 호출하고, 매크로 종료 부분에 OptimizeCode_End를 호출합니다.

왜 이 코드가 성능을 향상시키는가?

  • 이 설정들은 컴퓨터의 메모리와 처리 능력을 절약하기 때문에 코드가 더 빠르게 실행됩니다.

이러한 설정을 통해 VBA 매크로의 성능을 효과적으로 향상시킬 수 있습니다. 특히, 복잡하고 시간이 오래 걸리는 작업을 자동화할 때 유용합니다.

반응형

댓글