Процедура, как она есть, допускает максимум три параметра.
MoveButton(sh As Worksheet, btnName As String, Optional shB As Worksheet)
Обратите внимание, что запятые после MoveButton в настоящее время разделяют три параметра.
Вы можете либо изменить его, либо вызвать его как минимум три раза.
Если вы решите чтобы изменить вызывающего абонента:
Sub Sample()
MoveButton Sheet1, "Button 1", Sheet2
MoveButton Sheet3, "Button 1", Sheet4
MoveButton Sheet5, "Button 1"
End Sub
Перечитав вопрос, если кнопки есть только на упомянутых листах, используйте:
Sub Sample()
MoveButton Sheet1, "Button 1", Sheet2
MoveButton Sheet3, "Button 1"
End Sub