【发布时间】:2017-12-06 22:56:46
【问题描述】:
我用excel的worksheetfunction创建了一个sumif函数,请看下面
Public Function sumif(Range As Variant, criteria As Variant, sum_range As Variant)
On Error Resume Next
sumif = WorksheetFunction.sumif(Range, criteria, sum_range)
If IsError(sumif) Then
sumif = ""
End If
End Function
通过这个公共函数,我试图总结某些位置登录到特定系统的小时数。我在下面包含了我想要做的事情
Private Sub lookupWLDetails()
Dim lngLastRow As Long
Dim vntSiteID As Variant
Dim lngRow As Long
Dim rngDS As Range
With Sheet3
lngLastRow = lastRowInCol(.Columns("B"), 11)
Set rngDS = .Range(.Cells(11, "B"), _
.Cells(lngLastRow, "X"))
End With
lastrowinCol 函数没有问题,已在同一个 excel 文档中成功使用过多次,因此无需粘贴
With Sheet9
lngLastRow = lastRowInCol(.Columns("B"), 2)
For lngRow = 2 To lngLastRow
vntSiteID = .Cells(lngRow, "B")
.Cells(lngRow, "C") = sumif(rngDS.Columns(3), vntSiteID, rngDS.Columns(7))
.Cells(lngRow, "D") = sumif(rngDS.Columns(3), vntSiteID, rngDS.Columns(8))
Next lngRow
End With
End Sub
- 顶部的代码段与底部的 2 段代码是分开的
- 底部 2 段代码是同一个子代码的一部分
这段代码的目的是遍历表 9 上的 col B(它包含报告中每个站点的列表),然后将表 3 中每个请求列中的所有值求和,只要站点保留在sheet 3 col D 与 sheet 9 中的 siteID 匹配
我没有收到任何错误,我只是从所有 sumif 尝试中返回值 0
任何人都可以提供任何帮助将不胜感激
谢谢
【问题讨论】: