Help with driving MUX data lines

Hello all, new to the forum. So I will start with a quick run down on what I'm trying to accomplish:

I have multiple amplifiers I need to switch, and my solution is to drive an 8 channel Multiplexer with the Arduino, which in this case will take 3 button inputs, and output the necessary 5v signal to the three data inputs on the Multiplexer chip itself.

I've attempted to write some code to achieve this, but despite getting 5v to any of the inputs, none of my outputs are putting out the 5v.

I'm very new to the IDE, and general programming. My experience in electronics is hardware related. I am aware there may be some fundamentals missing in my code, so if anyone could point me in the right direction, or help to explain why my outputs aren't working I would very much appreciate it.

Thanks!

 const int Voxpin = 2;
const int Supropin = 3; 
const int Marshallpin = 4;
const int Muxpin1 = 11;
const int Muxpin2 = 12;
const int Muxpin3 = 13; 


void setup()
{
  pinMode(Voxpin, INPUT);
  pinMode(Supropin, INPUT);
  pinMode(Marshallpin, INPUT) ;
  pinMode(Muxpin1, OUTPUT); 
  pinMode(Muxpin2, OUTPUT);
  pinMode(Muxpin3, OUTPUT);     
}


void loop()
{
  int VoxState, SuproState, MarshallState; 


  VoxState = digitalRead(Voxpin);
  SuproState = digitalRead(Supropin);
  MarshallState = digitalRead (Marshallpin);
  



  if (((VoxState == HIGH))) 
                                                        
  {
    digitalWrite(Muxpin1, LOW); 
  }
  else
  {
    digitalWrite(Muxpin2, LOW);
    digitalWrite(Muxpin3, LOW);
    digitalWrite(Supropin, LOW);
    digitalWrite(Marshallpin,LOW);
  }

 if (((SuproState == HIGH)))

 {
  digitalWrite(Muxpin1, LOW);
 }
 else
 {
  digitalWrite(Muxpin2, LOW);
  digitalWrite(Muxpin3, HIGH);
  digitalWrite(Voxpin, LOW);
  digitalWrite(Marshallpin, LOW);
 }

 if (((MarshallState == HIGH)))

 {
  digitalWrite(Muxpin1, LOW);
 }
 else
 {
  digitalWrite(Muxpin2, HIGH);
  digitalWrite(Muxpin3, LOW);
  digitalWrite(Supropin, LOW);
  digitalWrite(Voxpin, LOW);
 }
 
}

Just think of all those else statements getting done on every loop. They are overriding anything done on any if statements that happen to be true.

Not an error

  if (((VoxState == HIGH)))

Less typing

  if (VoxState == HIGH)

Why do you write to input pins (last two digitalWrite() below)?

  if (((VoxState == HIGH)))
  {
    digitalWrite(Muxpin1, LOW);
  }
  else
  {
    digitalWrite(Muxpin2, LOW);
    digitalWrite(Muxpin3, LOW);
    digitalWrite(Supropin, LOW);
    digitalWrite(Marshallpin, LOW);
  }

Can you please provide a link to a datasheet of the multiplexer.

And redefine your requirement. You have three buttons and the Mux pins must follow the button that is pressed? Is it a momentary switch (connects when you press, disconnects when you don't press)? Does it need to be remembered?