hansgrandia
Board Regular
- Joined
- Jan 10, 2015
- Messages
- 53
[COLOR=rgba(0, 0, 0, 0.8)]Hello,[/COLOR]
[COLOR=rgba(0, 0, 0, 0.8)]Instead of using a pivot to calculate totals for my subcategories, I would like to use the sumIf function in Excel VBA. [/COLOR]
[COLOR=rgba(0, 0, 0, 0.8)]After I dumped my transacation (variable length each month) in Sheet1 (in dutch: "Blad1"), I'm aiming to calculate the totals on a separate sheet ("Som transacties")[/COLOR]
[COLOR=rgba(0, 0, 0, 0.8)]I have defined app 20 subcategories which should be visible in row A2 until row A21 (A1 is a header).[/COLOR]
[COLOR=rgba(0, 0, 0, 0.8)]After running the code, I get a 1004 error which I do not really understand. [/COLOR]
[COLOR=rgba(0, 0, 0, 0.8)]Could someone help me out and double check to below standing code? [/COLOR]
[COLOR=rgba(0, 0, 0, 0.8)]Very much appreciated![/COLOR]
[COLOR=rgba(0, 0, 0, 0.8)]Hans Grandia[/COLOR]
[COLOR=rgba(0, 0, 0, 0.8)]The Netherlands[/COLOR]
.................................................................................................
Sub SumIfTransacties()
Dim Transacties As Range
Dim Sum As Integer
Set Transacties = Worksheets("Blad1").Range("D2").End(xlDown)
'Add sheet with totals per subcategory
Worksheets.Add After:=Sheets("Blad1")
Worksheets.Add.Name = "Som Transacties"
'Subcategories in Column A
Range("A1").Value = "Subcategorie"
Range("A2").Value = "ANWB"
Range("A3").Value = "Autoverzekering"
Range("A4").Value = "Bankkosten"
Range("A5").Value = "Eten & drinken en persoonlijke verzorging"
Range("A6").Value = "Kleding"
Range("A7").Value = "Kranten / weekbladen / kerkblad / boeken"
Range("A8").Value = "Lasten woning"
Range("A9").Value = "Lidmaatschap kerk en goede doelen"
Range("A10").Value = "Onderhoud auto"
Range("A11").Value = "Opleiding en persoonlijke ontwikkeling"
Range("A12").Value = "Overig"
Range("A13").Value = "Reisverzekering"
Range("A14").Value = "Sport"
Range("A15").Value = "Uitvaartverzekering"
Range("A16").Value = "Vakantie en ontspanning"
Range("A17").Value = "Vakbond"
Range("A18").Value = "Vervoer"
Range("A19").Value = "Wegenbelasting"
Range("A20").Value = "Zakgeld / cadeaus / boetes"
Range("A21").Value = "Ziektenkosten"
'Select first blank cell of subcategory (Column B)
Worksheets("Som Transacties").Activate
Range("A2").Select
Do Until ActiveCell.Value = ""
ActiveCell.Offset(0, 1).Select
Sum = Application.WorksheetFunction.SumIf(Range("Transacties"), Range("A2"), (Range("Transacties")))
' Move 1 row down
Worksheets("Som Transacties").Activate
ActiveCell.Offset(1, 0).Select
Loop
Columns("A:A").EntireColumn.AutoFit
End Sub
[COLOR=rgba(0, 0, 0, 0.8)]Instead of using a pivot to calculate totals for my subcategories, I would like to use the sumIf function in Excel VBA. [/COLOR]
[COLOR=rgba(0, 0, 0, 0.8)]After I dumped my transacation (variable length each month) in Sheet1 (in dutch: "Blad1"), I'm aiming to calculate the totals on a separate sheet ("Som transacties")[/COLOR]
[COLOR=rgba(0, 0, 0, 0.8)]I have defined app 20 subcategories which should be visible in row A2 until row A21 (A1 is a header).[/COLOR]
[COLOR=rgba(0, 0, 0, 0.8)]After running the code, I get a 1004 error which I do not really understand. [/COLOR]
[COLOR=rgba(0, 0, 0, 0.8)]Could someone help me out and double check to below standing code? [/COLOR]
[COLOR=rgba(0, 0, 0, 0.8)]Very much appreciated![/COLOR]
[COLOR=rgba(0, 0, 0, 0.8)]Hans Grandia[/COLOR]
[COLOR=rgba(0, 0, 0, 0.8)]The Netherlands[/COLOR]
.................................................................................................
Sub SumIfTransacties()
Dim Transacties As Range
Dim Sum As Integer
Set Transacties = Worksheets("Blad1").Range("D2").End(xlDown)
'Add sheet with totals per subcategory
Worksheets.Add After:=Sheets("Blad1")
Worksheets.Add.Name = "Som Transacties"
'Subcategories in Column A
Range("A1").Value = "Subcategorie"
Range("A2").Value = "ANWB"
Range("A3").Value = "Autoverzekering"
Range("A4").Value = "Bankkosten"
Range("A5").Value = "Eten & drinken en persoonlijke verzorging"
Range("A6").Value = "Kleding"
Range("A7").Value = "Kranten / weekbladen / kerkblad / boeken"
Range("A8").Value = "Lasten woning"
Range("A9").Value = "Lidmaatschap kerk en goede doelen"
Range("A10").Value = "Onderhoud auto"
Range("A11").Value = "Opleiding en persoonlijke ontwikkeling"
Range("A12").Value = "Overig"
Range("A13").Value = "Reisverzekering"
Range("A14").Value = "Sport"
Range("A15").Value = "Uitvaartverzekering"
Range("A16").Value = "Vakantie en ontspanning"
Range("A17").Value = "Vakbond"
Range("A18").Value = "Vervoer"
Range("A19").Value = "Wegenbelasting"
Range("A20").Value = "Zakgeld / cadeaus / boetes"
Range("A21").Value = "Ziektenkosten"
'Select first blank cell of subcategory (Column B)
Worksheets("Som Transacties").Activate
Range("A2").Select
Do Until ActiveCell.Value = ""
ActiveCell.Offset(0, 1).Select
Sum = Application.WorksheetFunction.SumIf(Range("Transacties"), Range("A2"), (Range("Transacties")))
' Move 1 row down
Worksheets("Som Transacties").Activate
ActiveCell.Offset(1, 0).Select
Loop
Columns("A:A").EntireColumn.AutoFit
End Sub