[VBA]Do-Loop문의 이해

이 함수들을 호출하는 서브 프로시저는 다음과 같다.

Sub CalculateStastic()
  '
  Dim myScore() As Double '동적 배열 선언. 크기가 결정되어 있지 않음.
  Dim i As Long
  Dim 평균 As Double
  Dim 분산 As Double
  Dim 표준편차 As Double
  '
  '입력
  i = 1
  Do While Cells(i, 2) <> ""
    ReDim Preserve myScore(1 To i) '동적 배열의 크기 재설정(ReDim). 이전에 할당된 값을 보존(Preserve).
                                   'Preserve를 하지 않으면, 크기가 재설정되면서 기존의 값은 모두 초기화 ^^;
    myScore(i) = Cells(i, 2)
    i = i + 1
  Loop
  '
  '계산
  평균 = GetMean(myScore)
  분산 = GetVariance(myScore)
  표준편차 = GetStandardError(myScore)
  '
  '출력
  Cells(1, 4) = 평균
  Cells(2, 4) = 분산
  Cells(3, 4) = 표준편차
End Sub

위 코드에는 불필요한 중복이 있다. 어떻게 할 것인가?

Print Friendly, PDF & Email
%d bloggers like this: