¿Cómo bloquear un botón que tiene asignado una macro con código?

He usado este código pero me da error de compilación:

Sub bloqueo_botones()
If Range("AQ11") = "1" Then
CommandButton1.Enabled = False
Else
End If
End Sub

El botón se denomina CommanButton1 y me gustaría que se bloquease en función de la celda AQ11.

1 respuesta

Respuesta
3

Con ese código podrás inhabilitar botones ActiveX, no se puede con los de la barra Formularios.

Así es cómo se verá y allí en el código modifica ActiveSheet por el nombre de tu hoja si no es la activa. La misma macro te puede servir también para volverlo a habilitar.

Hola Elsa, gracias por contestarme, el comando que tengo es de formulario no es activex, qué código debería usar pues.

Gracias

Esos botones no tienen la opción Enabled. Debieras cambiar tus botones por los ActiveX o utilizar otros recursos como en el ejemplo que te dejo, donde le quito la macro asignada y atenúo el color del texto (ver imagen). Ajusta las referencias donde te las indico.

Sub bloqueo_botones()
'x Elsamatilde
If Range("AQ11") = "1" Then
    'quita la macro y atenúa color de fuente
    ActiveSheet.Shapes("Button 3").Select  'Ajustar nombre
    With Selection
        .OnAction = ""
        .Font.ColorIndex = 17
    End With
Else
    'asigna la macro y vuelve al color automático
    ActiveSheet.Shapes("Button 3").Select  'Ajustar nombre
    With Selection
        .OnAction = "formatoParcial"  'ajustar nombre de macro
        .Font.ColorIndex = xlAutomatic
    End With
End If
'seleccionar alguna celda   'Ajustar celda
Range("AQ2").Select
End Sub

Si los cambias por botones ActiveX es válido el código enviado anteriormente.

¡Gracias! 

Ah, eres el usuario que valora todo con 'buena' :(

Tenés 2 opciones para valorar (buena y excelente). Salvo que lo sepas hacer mejor (en ese caso deja tu propuesta para que aprendamos todos) creo que la respuesta merece otra valoración.

Además de aclararte la diferencia entre los distintos tipos de botones te envié código para cualquiera de las 2 opciones... esto es algo más que 'buena', ¿no te parece?

Sdos!

Por supuesto que merece un excelente, me has ayudado, gracias por dedicarme tu tiempo, no me había fijado que existía la opción de excelente, si están tan importante para ti la próxima vez lo valoraré así. Gracias

Que gracioso ;( sabes que puedes modificarla.

Es importante para los que buscan respuestas y puede confundirlos una valoración no acorde a lo recibido... No te preocupes por mi.. ya he visto que es tu estilo.

Gracias ;)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas