如图所示,程序是个每秒都会自动添加一列数据的记录的东西,一旦13列数字到了10万,那么把这些数字都归到1组,组数记录在14列,现在想在15列求每一组数据中心化后的数值,就是第10列每一个数除以它所在组(红圈和蓝圈)的标准差。我想每当程序刷新到每一组最后一个数据的时候(也就是第13列出现10万的时候),第15列就能算出我所有要的东西。
请求高手。。。本人想了几天实在没想懂
附上代码....写的很粗糙....希望高手们能看懂指引一下啊...
Sub 记录()
Dim a As Integer
Dim sumvol As Integer
Dim accum As Integer
Dim g As Integer
g = Cells(Rows.Count, 14).End(xlUp).Row + 1
a = Sheet1.Cells(Rows.Count, 6).End(xlUp).Row
For i = 6 To 9
Sheet1.Cells(a, i).Offset(1, 0) = Sheet1.Cells(3, i).Value
Next
Sheet1.Cells(a + 1, 10) = Sheet1.Cells(a + 1, 6) - Sheet1.Cells(a, 6)
Sheet1.Cells(a + 1, 11) = Sheet1.Cells(a + 1, 7) 'Sheet1.Cells(a, 7)
If Sheet1.Cells(a + 1, 11).Value + Sheet1.Cells(a, 12).Value < 100000 Then
Sheet1.Cells(a + 1, 12) = Sheet1.Cells(a, 12) + Sheet1.Cells(a + 1, 11)
Sheet1.Cells(a + 1, 13) = Sheet1.Cells(a + 1, 12)
Else
Sheet1.Cells(a + 1, 12) = Sheet1.Cells(a, 12) + Sheet1.Cells(a + 1, 11) - 100000
Sheet1.Cells(a + 1, 13) = 100000
End If
If Sheet1.Cells(a, 13) < 100000 Then
If Sheet1.Cells(a, 14) = "" Then
Sheet1.Cells(a + 1, 14) = 1
Else
Sheet1.Cells(a + 1, 14) = Sheet1.Cells(a, 14)
End If
Else
Sheet1.Cells(a + 1, 14) = Sheet1.Cells(a, 14) + 1
End If
Application.OnTime Now + TimeValue("00:00:01"), "记录"
End Sub