VBA Excel计数函数中的类型不匹配错误
问题描述:
我一直在试图找出这个问题的论坛。我在每个订单项中都有一个具有特定日期和美元价值的数据表。我想在每个月的数字和每个月创建一个美元的总和。我发现,我以为会工作的功能,并修改它来满足我的需求:VBA Excel计数函数中的类型不匹配错误
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
然后我从另一个调用子程序功能:
范围(“P5000”)值= MonthOppCount(“H5。 :H5000“,Month1,Month2)
我收到H5:H5000突出显示的类型不匹配错误。有任何想法吗?或者,一个简单的方法来完成目标?我不能只在一个单元格中设置这个函数,因为涉及到3个工作表,而主代码并不是可以从中获取这些数据的地方。
感谢, 吉赛尔
答
“H5:H5000” 只是一个字符串; VBA不会自动将其转换为范围。改变,从你的调用函数的行:
Range("P5000").Value = MonthOppCount("H5:H5000", Month1, Month2)
到:
Range("P5000").Value = MonthOppCount(Range("H5:H5000"), Month1, Month2)