To deal with any number of colours, adjust the first line:
Private Sub btnMyButton_Click()
myColours = Array(vbYellow, vbRed, vbBlue, vbGreen, vbMagenta, 16737894, vbCyan)    'adjust this line to suit, this is an example.
'myColours = Array(vbYellow, vbRed, vbBlue) 'adjust this line to suit, this is the original request.
With frmMyForm
  x = Application.Match(.BackColor, myColours, 0)    'is the current colour in the list? and if so, where?…
  If IsError(x) Then    'no it isn't:
    .BackColor = myColours(0)    'first colour in the list if it's not one of the existing colours.
  Else    'yes it is:
    .BackColor = myColours(x Mod (UBound(myColours) + 1))    'the next colour in the list.
  End If
End With
End Sub