반응형
VBA는 엑셀에서 사용하는 코드 입니다.
그렇다 보니 VBA가 적용되는 엑셀 데이터에 따라 속도가 달라 질 수 있습니다.
예를들면
1. VBA를 사용하려는 엑셀의 데이터가 1개
2. VBA를 사용하려는 엑셀의 데이터가 10,000개
2-1. 10,000개 중 5,000개는 엑셀 함수식을 사용
2-2. 10,000개 중 0개 엑셀 함수식을 사용
단순하게 생각했을 때 2-1번이 가장 오래 걸릴 것입니다.
사람도 계산할 것이 많으면 시간이 오래 걸리듯 말이죠.
그래서 최대한 VBA를 실행하는 동안 엑셀의 계산을 멈추는 형태를 통해서 실행 시간을 단축할 수 있습니다.
대표적인것으로
- 엑셀 함수식 자동 계산하지 않는 형태
Application.Calculation = xlCaclculationManual
VBA를 실행하는 가장 앞에 자동 계산을 꺼두는 겁니다.
해당 코드를 실행하면 "옵션 > 수식 > 계산 옵션 = 수동" 처리가 됩니다.
그렇게 되면 바로바로 엑셀 함수가 계산이 안됩니다.
따라서 VBA가 종료되는 끝부분에
Application.Calculation = xlCalculationAutomatic
을 실행하면 됩니다.
혹시나 Application.Calculation에 적용할 수 있는값을 궁금해 하실 수 있을것 같아서
위 이미지처럼 3개 값을 사용할 수 있습니다.
반응형
'엑셀 > VBA' 카테고리의 다른 글
VBA 사진 추가하는 방법 (Shapes.AddPicture) (1) | 2024.04.07 |
---|---|
Selenium에서 Select 선택 된 값 불러오기 (0) | 2024.03.03 |
변수의 타입에 따라 조건 사용하기 (1) | 2023.10.08 |
VBA Selenium에서 스크롤 이동 (2) | 2023.07.10 |
VBA 배열 변수 지정 시 Index = 1 부터 시작하기 Option Base (0) | 2023.06.21 |
댓글