View Single Post
  #6   Report Post  
Posted to microsoft.public.excel.programming
Per Jessen[_2_] Per Jessen[_2_] is offline
external usenet poster
 
Posts: 703
Default I have a created a variable with a loop, how do I find average

On 11 Jul., 02:39, wrote:
that was defintiely helpful, how would you change it if you added a
second variable. look below at the example. it is incorrectly taking
scores from previous weeks. is there a way to clear the variable, once
it is captured

Sub rndgenandaver()
Dim score, t, lastt, averagescore, n, numberofweeks
t = 1
lastt = 16
n = 1
numberofweeks = 16
ReDim score(lastt, numberofweeks), averagescore(numberofweeks)
n = 1
For n = 1 To numberofweeks
t = 1
For t = 1 To lastt
If t 0 Then score(t, n) = Rnd()
Worksheets("Sheet1").Cells(t, n) = score(t, n)
Next t
averagescore(n) = Application.Average(score)
Worksheets("Sheet1").Cells(112, n) = averagescore(n)
Next n
End Sub


Hi

You don't need a two-dimensional array. Just re-use a one dimensional
array. Try this:

Sub rndgenandaver()
Dim Score()
Dim LastT As Integer
Dim AverageScore()
Dim NumberOfWeeks As Integer
Dim t As Integer
Dim n As Integer

LastT = 16
NumberOfWeeks = 16
ReDim Score(LastT), AverageScore(NumberOfWeeks)

For n = 1 To NumberOfWeeks
For t = 1 To LastT
Score(t) = Rnd()
Worksheets("Sheet1").Cells(t, n) = Score(t)
Next
AverageScore(n) = Application.Average(Score)
Worksheets("Sheet1").Cells(112, n) = AverageScore(n)
Next
End Sub

Best regards,
Per