scherpbierje
Gebruiker
- Lid geworden
- 18 apr 2012
- Berichten
- 9
Hallo,
Ik wil in een worksheet met vba de voorwaardelijke som berekenen met de WorksheetFunction.SumIf
Dit werkt wel als ik voor het criteria-argument een enkele verwijzing opneem (bijv range("A28")) maar met een samengestelde verwijzing (bijv. ">" & range("A28") ) krijg ik altijd de waarde "0" terug.
kan iemand mij uitleggen hoe ik zoiets moet coderen?
Ik doe het nu binnen een zoek-loop op kolom B:B waarna ik vergelijk met de waarde in de kolom A:A en vervolgens de som wil hebben van kolom G:G
zie hieronder de code die ik nu heb
Als ik voor arg1 C.Offset(0, -1) invul werkt het prima, als ik voor arg1 ">" & C.Offset(0, -1) of voor arg1 """>"""" & C.Offset(0, -1) invul krijg ik altijd de waarde 0 terug
Ik wil in een worksheet met vba de voorwaardelijke som berekenen met de WorksheetFunction.SumIf
Dit werkt wel als ik voor het criteria-argument een enkele verwijzing opneem (bijv range("A28")) maar met een samengestelde verwijzing (bijv. ">" & range("A28") ) krijg ik altijd de waarde "0" terug.
kan iemand mij uitleggen hoe ik zoiets moet coderen?
Ik doe het nu binnen een zoek-loop op kolom B:B waarna ik vergelijk met de waarde in de kolom A:A en vervolgens de som wil hebben van kolom G:G
zie hieronder de code die ik nu heb
Code:
Sub test2()
Dim som As Double
Dim arg1 As Variant
With Worksheets(1).Range("B:B")
Set C = .Find("SVB Rotterdam", LookIn:=xlValues, Searchorder:=xlByColumns)
If Not C Is Nothing Then
firstaddress = C.Address
addr = C.Offset(0, -1)
arg1 = C.Offset(0, -1)
som = WorksheetFunction.SumIf(Range("A:A"), arg1, Range("G:G"))
som = WorksheetFunction.Sum(Range("G:G"))
Do
rij = C.Row
kol = C.Column
C.Offset(0, 6).Value = Month(C.Offset(0, -1))
Set C = .FindNext(C)
Loop While Not C Is Nothing And C.Address <> firstaddress
End If
End With
End Sub
Als ik voor arg1 C.Offset(0, -1) invul werkt het prima, als ik voor arg1 ">" & C.Offset(0, -1) of voor arg1 """>"""" & C.Offset(0, -1) invul krijg ik altijd de waarde 0 terug
Laatst bewerkt: