在Excel中使用VBA查找显示的筛选数据的平均值和标准偏差

所以我现在的代码遇到一个小问题。 我的目标是过滤Excel表格中的数据,并获取过滤数据的平均值和标准偏差。 没有过滤数据,我可以显示平均值和标准偏差。 我得到了平均值和标准差的值。 但是,在过滤数据之后,我再次运行macros,但是它显示的数据没有经过过滤时的平均值和标准偏差与之前一样。 我想知道我的代码有什么问题,或者我怎样才能调整它,所以它只显示数据上的平均值和标准偏差。

这是我的代码:

“平均代码

Sub Avg() Range("F1").Value = Application.WorksheetFunction.Average(Columns("D")) End Sub 

代码为Std。 Dev_S

 Sub Dev() Range("G1").Value = (Application.WorksheetFunction.StDev_S(Columns("D"))) / 1.128 End Sub 

使用小计function。 101和107代码应该忽略隐藏的值。 http://office.microsoft.com/en-ca/excel-help/subtotal-function-HP010062463.aspx

 Sub Avg() Range("F1").Value = Application.WorksheetFunction.SUBTOTAL(101,Columns("D")) End Sub Sub Dev() Range("G1").Value = (Application.WorksheetFunction.SUBTOTAL(107,Columns("D"))) / 1.128 End Sub 

我现在不能testing,让我知道如果这个工程!