Controlling 2 WS2812b strips with a NANO and 3 buttons

moJoeRedRog:
however if you press again strip 2 light 1 comes on.

What do you mean ?

For button2, try

  if (!StateB1) ChangeStrip1 ();
 else if (!StateB2) ChangeStrip2 ();
 else if (!StateBReset) ResetStrips ();

Not sure it will change anything though...

Button 2 does nothing

That's weird, there is sth wrong in the checkbutton function.

I wrote the code as it they were pushbuttons; they act when you push and release them. What button do you use, this kind?