aboutsummaryrefslogtreecommitdiff
path: root/challenge-122/eric-cheung/excel-vba/ch-1.bas
blob: 2b516343a902362b6193bc8f35a21af0d62a7e22 (plain)
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
Attribute VB_Name = "ModTask_01"
Option Explicit
Option Base 1
Public Const strMyTitle As String = "Eric Cheung"

Function RunningAvg()

    Dim arrNum
    Dim nArrCnt As Integer, nLoop As Integer
    Dim dSum As Double
    Dim dRunAvgArr() As Double

    arrNum = Array(10, 20, 30, 40, 50, 60, 70, 80, 90)
    
    nArrCnt = UBound(arrNum) - LBound(arrNum) + 1
    ReDim dRunAvgArr(1 To nArrCnt)
    
    For nLoop = 1 To nArrCnt
        dSum = dSum + arrNum(nLoop)
        dRunAvgArr(nLoop) = dSum / nLoop
    Next nLoop
    
    RunningAvg = dRunAvgArr

End Function

Sub Task_01()

    Dim dRunAvgList
    Dim strMsg As String
    Dim nCnt As Integer
    
    dRunAvgList = RunningAvg()
    
    strMsg = ""
    
    For nCnt = LBound(dRunAvgList) To UBound(dRunAvgList)
        If strMsg <> "" Then
            strMsg = strMsg & "; "
        End If
        strMsg = strMsg & dRunAvgList(nCnt)
    Next nCnt
    
    strMsg = "The Running Average List: " & vbNewLine & strMsg
    
    MsgBox strMsg, vbOKOnly, strMyTitle
    
End Sub