0

在此处输入图像描述

我已经设法通过编写这个宏来计算平均值

'This works out how many rows (another way)
Dim AV As Long, AVC As Long
AV = Range("O" & Rows.Count).End(xlUp).Row
AVC = AV - 1

 ' This adds up all the data starting from row 2 to before the blank row
 Dim LR As Long
 myRange = ActiveSheet.Range("O2", Range("O2").End(xlDown))
 LR = WorksheetFunction.sum(myRange)
'MsgBox LR

 ' So finding the mean
 Dim mean As Long
 Range("P2").Select
 ActiveCell.FormulaR1C1 = LR / AVC
 Selection.Value = Format(ActiveCell, "#.00")

在单元格 P2 中给出 17.84 的结果

但是当我尝试编写相同的代码来计算标准偏差时,它返回的值为 0。这是否意味着我不能使用下面的类似编码来完成这项工作?

 ' Doing stdev on range
 Dim MD As Long
 myRange = ActiveSheet.Range("O2", Range("O2").End(xlDown))
 MD = WorksheetFunction.StDev_S(myRange)
 MsgBox MD

此外,我无法弄清楚如何复制和粘贴它并根据 O 列中有多少行停止。非常感谢一些帮助,因为我对编写宏非常陌生。

在此处输入图像描述

4

1 回答 1

0

更改dim MD as Longdim MD as double

于 2016-06-17T23:40:37.790 回答