“H5:H5000”在期望范围的函数中生成类型不匹配错误

时间:2011-03-11 20:33:18

标签: excel vba

我在每个订单项中都有一张包含特定日期和美元价值的工作表。

我想计算每个月的行数,每个月创建一笔美元。

我找到了一个功能并对其进行了修改:

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突出显示。

1 个答案:

答案 0 :(得分:3)

“H5:H5000”只是一个字符串; VBA不会自动将其转换为范围。从以下位置更改调用函数的行:

Range("P5000").Value = MonthOppCount("H5:H5000", Month1, Month2)

为:

Range("P5000").Value = MonthOppCount(Range("H5:H5000"), Month1, Month2)