我在每个订单项中都有一张包含特定日期和美元价值的工作表。
我想计算每个月的行数,每个月创建一笔美元。
我找到了一个功能并对其进行了修改:
Public Function MonthOppCount(rng As Range, sdate As Date, edate As Date) As Long
Dim Cel As Range
Dim MonthCount As Integer
Dim MonthRev As Long
For Each Cel In rng
If Cel >= sdate And Cel < edate Then
' MonthCount = MonthCount + 1
MonthRev = MonthRev + ActiveCell.Offset(0, -3).Value
End If
Loop
MonthOppCount = MonthRev
ActiveCell.Offset(0, 1).Value = MonthCount
End Function
然后我从另一个子程序中调用该函数:
Range("P5000").Value = MonthOppCount("H5:H5000", Month1, Month2)
我在H5中遇到类型不匹配错误:H5000突出显示。
答案 0 :(得分:3)
“H5:H5000”只是一个字符串; VBA不会自动将其转换为范围。从以下位置更改调用函数的行:
Range("P5000").Value = MonthOppCount("H5:H5000", Month1, Month2)
为:
Range("P5000").Value = MonthOppCount(Range("H5:H5000"), Month1, Month2)