—ik zie dat het gisteren te laat was en dat ik dit in de verkeerde rubriek heb gepost. Kan deze vraag verplaatst worden?—
Beste mensen,
Ik loop even (eigenlijk al een paar uur) vast met een macro die ik in elkaar probeer te zetten. Daarom is mijn hoop nu op jullie gevestigd.
Ik probeer een worksheetfunction.sumifs met een loop te combineren, maar dat gaat helemaal niet goed.
Op het inputblad staat vanaf rij 2 een projectnaam. De 2 rijen daaronder betreffen resources die door het project gebruikt worden. Dan volgt op rij 5 weer een andere project met daaronder weer twee regels resources, enz... Kolom 3 t/m X? (dynamisch) bestaan uit kwartalen van jaren.
De bedoeling is om de resources die aan een project zijn toegewezen in een bepaald jaar (bijvoorbeeld 2018) op te tellen en op blad 'Tabel' bij het juiste project en jaartal neer te zetten. De lijst projecten op blad 'Input' heeft dezelfde volgorde als op tabblad 'Tabel'.
Ik ben tot deze code gekomen... (zie ook het voorbeeldbestand)
Als ik van het optelbereik een vast bereik maak (die gelijk is aan het criteriabereik) dan werkt het. Nu krijg ik een Application-defined or Object-defined error.
Kunnen jullie mij verder op weg helpen? Ik weet sowieso niet of ik in de goede richting zit, of dat ik beter een ander pad in kan slaan.
Groet,
Comida
Bekijk bijlage Voorbeeldbestand.xlsm
Beste mensen,
Ik loop even (eigenlijk al een paar uur) vast met een macro die ik in elkaar probeer te zetten. Daarom is mijn hoop nu op jullie gevestigd.
Ik probeer een worksheetfunction.sumifs met een loop te combineren, maar dat gaat helemaal niet goed.
Op het inputblad staat vanaf rij 2 een projectnaam. De 2 rijen daaronder betreffen resources die door het project gebruikt worden. Dan volgt op rij 5 weer een andere project met daaronder weer twee regels resources, enz... Kolom 3 t/m X? (dynamisch) bestaan uit kwartalen van jaren.
De bedoeling is om de resources die aan een project zijn toegewezen in een bepaald jaar (bijvoorbeeld 2018) op te tellen en op blad 'Tabel' bij het juiste project en jaartal neer te zetten. De lijst projecten op blad 'Input' heeft dezelfde volgorde als op tabblad 'Tabel'.
Ik ben tot deze code gekomen... (zie ook het voorbeeldbestand)
Code:
Sub Test()
Dim DateRange As Range
Dim lastRowI As Long
Dim lastColumnI As Long
lastRowI = Worksheets("Input").Cells(Rows.Count, 1).End(xlUp).Row
lastRowJ = Worksheets("Tabel").Cells(Rows.Count, 2).End(xlUp).Row
lastColumnI = Worksheets("Input").Cells(1, Columns.Count).End(xlToLeft).Column
Set DateRange = Worksheets("Input").Range("C1", Worksheets("Input").Cells(1, lastColumnI))
For j = 3 To lastRowJ
For i = 3 To lastRowI Step 3
Worksheets("Tabel").Cells(i, 3).Value = _
WorksheetFunction.SumIfs(Worksheets("Input").Range(Cells(j, 3), Cells(j + 1, lastColumI)), _
DateRange, ">=" & Format$("01/01/2018", "dd mmm yyyy"), _
DateRange, "<=" & Format$("31/12/2018", "dd mmm yyyy"))
Next i
Next j
End Sub
Als ik van het optelbereik een vast bereik maak (die gelijk is aan het criteriabereik) dan werkt het. Nu krijg ik een Application-defined or Object-defined error.
Kunnen jullie mij verder op weg helpen? Ik weet sowieso niet of ik in de goede richting zit, of dat ik beter een ander pad in kan slaan.
Groet,
Comida
Bekijk bijlage Voorbeeldbestand.xlsm
Laatst bewerkt: