엑셀 VBA :: Timer (매크로 속도 측정)
예제파일 |
요약
엑셀 VBA의 Timer 변수에 대해 알아봅니다.
설명
Timer 변수는 엑셀 VBA로 작성된 매크로의 속도 측정을 위해 사용하는 변수입니다. (주 사용용도가 매크로의 속도측정일뿐, 각자 필요에 따라 다른 용도로 사용하실수도 있습니다..)
VBA에 Default로 설정된 기본값으로 자정(12시)부터 지난 시간을 표현 가능한 최소한의 초단위로 반환합니다. 별도의 변수 설정을 안할시에는 Millisecond(1000분의 1초) 단위로 계산하며, Double 변수로 설정 시 그 이하 단위까지 측정 가능합니다.

VBA 코드
Sub VBA_Timer_사용법() '//변수 설정 Dim dblStart As Double: Dim dblElapsed As Double '// 매크로 실행 전 시작시간을 설정합니다. dblStart = Timer '########################### '동작할 명령문 입력 '########################### '// 명령문이 끝난 시점의 Timer와 시작시간의 차이를 계산합니다 dblElapsed = Timer - dblStart '// 매크로 속도를 msgbox로 반환합니다 MsgBox Format(dblElapsed, "0.0000초") End Sub
세부내용
1. 시트의 A1셀부터 200번째 행/열에 위치한 값까지 셀주소를 출력하는 명령문을 실행
'// 명령문을 실행합니다. WS.UsedRange.Clear For i = 1 To 200 For j = 1 To 200 WS.Cells(i, j) = WS.Cells(i, j).Address Next Next
2. Timer를 사용하여 매크로의 동작 속도를 측정합니다.
Sub 매크로_속도측정_예제() '//변수 설정 Dim dblStart As Double: Dim dblElapsed As Double Dim WS As Worksheet Set WS = ActiveSheet dblStart = Timer '// 매크로 실행 전 시작시간을 설정합니다. '// 명령문을 실행합니다. WS.UsedRange.Clear For i = 1 To 200 For j = 1 To 200 WS.Cells(i, j) = WS.Cells(i, j).Address Next Next '// 명령문이 끝난 시점의 Timer와 시작시간의 차이를 계산합니다 dblElapsed = Timer - dblStart '// 매크로 속도를 msgbox로 반환합니다 MsgBox Format(dblElapsed, "0.0000초") End Sub