Lo siguiente funcionará para cualquier botón, solamente necesitamos de una celda en cualquier hoja. En mi ejemplo estoy utilizando al celda Z1 de la hoja1, si tiene que ser otra hoja y otra celda, cambia esos datos en todas las macros para que funcione.
Macro que habilita:
Sub MacroHabilita()
'Por.Dante Amor
Sheets("Hoja1").[Z1] = "x"
End Sub
Macro que deshabilita:
Sub MacroDesHabilita()
'Por.Dante Amor
Sheets("Hoja1").[Z1] = ""
End Sub
Macro de botón de formulario:
Sub BotonFormulario()
'Por.Dante Amor
If Sheets("Hoja1").[Z1] = "" Then
Exit Sub
End If
'
'Aquí continúa tu macro
'
End Sub
Macro de botón de commandbutton:
Private Sub CommandButton1_Click()
'Por.Dante Amor
If Sheets("Hoja1").[Z1] = "" Then
Exit Sub
End If
'
'Aquí continúa tu macro
'
End Sub
De esa forma puedes deshabilitar las macros.