Depending on how many colors and Themes you are talking about, use an IF...Then...ElseIF statement or a Select case Statement to assign different values to some variables, then format the cells using those variable's values.
This may help
Sub showColorIndexNums()
Dim i As Long
Worksheets.Add before:=Sheets(1)
[A1].Value = "Color"
[B1].Value = "Index Number"
ActiveSheet.Name = "ColorIndex"
For i = 2 To 58
Range("A" & i).Interior.ColorIndex = i - 2
Range("B" & i).Value = i - 2
Next i
ActiveSheet.[B:B].EntireColumn.AutoFit
End Sub