Sum by Color in Excel VBA

Below we will look at a program in Excel VBA that sums numbers by color.
Situation:
You have lent money to two twelve people. Some people have given it back (in black) and some still owe you money (red). You want to know how much money you still receive.
1. First we declare two variables of type Integer. One named toReceive and one named i. We initialize the variable toReceive with value 0.
Dim toReceive As Integer i As IntegertoReceive = 0
2. Second we start a For Next loop.
For i = 1 To 123. We now check each number and only if the color of the number is red we add the number to toReceive.
If Cells(i 1).Font.Color = vbRed ThentoReceive = toReceive + Cells(i 1).Value
End If
4. Don't forget to close the loop.
Next i5. Finally we display the money still to receive. We use the & operator to concatenate (join) two strings. Although toReceive is not a string it works here.
MsgBox "Still to receive " & toReceive & " dollars"6. Place your macro in a command button and test it.
Result:
Written by
Jason Howie
Founder, FormulasHQ
A formula nerd with a passion for numbers and equations. Writes about Excel, Google Sheets, VBA, regex, and Salesforce formulas — for people who spend their day in spreadsheets.