0
我想写一个代码,查看一组数据并选择日期范围内的集合,并找到它的平均值。问题是我的函数返回整数而不是小数。我试图将我的函数数据类型更改为single,double和long,并且这些都不起作用。日期列表是在A列,和我想的平均数值列B.我的代码:功能返回整数,而不是小数
Function MONTHLYAVERAGE(OneDate As Date, TwoDate As Date) As Double
Dim TwoDate_Row As Long
Dim i, j As Integer
LookupColumn = "A"
Dim EndRange As Long
EndRange = Range("A1", Range("A1").End(xlDown)).Rows.Count
For i = 1 To EndRange
If Range(LookupColumn & i).Value = TwoDate Then TwoDate_Row = i
Next i
For j = TwoDate_Row To 1 Step -1
If Range(LookupColumn & j).Value = OneDate Then OneDate_Row = j
Next j
Dim MyDateRange As Range
LookupColumn2 = "B"
Set MyDateRange = Range(LookupColumn2 & OneDate_Row & ":" & LookupColumn2 & TwoDate_Row)
MONTHLYAVERAGE = Format(Application.WorksheetFunction.Average(MyDateRange), Standard)
End Function
'Format(Application.WorksheetFunction.Average(MyDateRange),Standard)' - 什么是'Standard'? –
这里有两件事你可以创建一个messagebox并提供下面的结果 MONTHLYAVERAGE = Format(Application.WorksheetFunction.Average(MyDateRange),Standard),同样用“0.00”代替标准 –
[请参考这个关于'Format'的第二个参数的文章。](https://msdn.microsoft.com/VBA/Language-Reference-VBA/articles/format-function-visual-basic-for-applications) –