이 함수들을 호출하는 서브 프로시저는 다음과 같다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
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 |
위 코드에는 불필요한 중복이 있다. 어떻게 할 것인가?