0
我創建使用Excel的worksheetfunction一個SUMIF函數時返回值爲0,請參見下面SUMIF使用worksheet.function 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中的列B(這包含報告中的每個站點的列表),然後在表格3中的每個請求的列中對所有值進行求和,只要站點保存在表格中3山坳d從紙張相匹配的siteID 9
我沒有收到任何錯誤,我只是得到0從我的所有SUMIF返回的值試圖
任何幫助,任何人都可以提供將不勝感激
感謝