OK, then try attaching this VBA code to the button you are using to toggle font colors:
VBA Code:
Sub ChangeColor()
If Range("Z1") = "Black" Then
Range("Z1") = "Red"
Else
Range("Z1") = "Black"
End If
End Sub
Note that I am using cell Z1 to store the color, but you can change it to whatever cell you want.
Then, put this code in the "Sheet" module of the sheet you want it to run against:
VBA Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rng As Range
Dim cell As Range
' See if any cells updates in watched range
Set rng = Intersect(Target, Range("A1:C10"))
If rng Is Nothing Then Exit Sub
' Loop through newly updated cells in watched range
For Each cell In rng
If Range("Z1") = "Red" Then
cell.Font.Color = -16776961
Else
cell.Font.ColorIndex = xlAutomatic
End If
Next cell
End Sub
Once again, you can change your ranges to suit your needs, but this works on the example you presented.
So this will handle your font coloring needs.
As for the sum, lots of people have created custom VBA functions to sum by color (just Google "Excel Sum By Color", and you should find lots of threads on this topic).
Note that many may deal with the background color, so you might need to tweak the code to look at the font color instead of the background color (should be a very minor tweak).