¿Cómo habilitar o deshabilitar un botón según el valor de una celda en Excel?
En este artículo, explico varios métodos para habilitar o deshabilitar un botón según el valor de una celda en una hoja de Excel.
Habilitar o deshabilitar dos botones en función de los datos de dos columnas con código VBA
Habilitar o deshabilitar un botón en función de los valores de dos celdas con código VBA
Habilitar o deshabilitar dos botones en función de los datos de dos columnas con código VBA
Por ejemplo, imagine que tiene dos botones de comando en una hoja de cálculo: si la columna A contiene datos, el botón 1 se habilita y el botón 2 se deshabilita; si la columna C contiene datos, el botón 2 se habilita y el botón 1 se deshabilita. Para lograrlo, el siguiente código VBA puede ayudarle.
1. Haga clic con el botón derecho en la hoja que contiene los botones y, a continuación, elija Ver código en el menú contextual; consulte la captura de pantalla:

2. En la ventana de Microsoft Visual Basic para Aplicaciones, copie y pegue el siguiente código en el módulo en blanco:
Código VBA: Habilitar o deshabilitar dos botones en función de dos columnas:
Private Sub Worksheet_Change(ByVal Target As Range)
CommandButton1.Enabled = False
CommandButton2.Enabled = False
If Application.WorksheetFunction.CountA(Range("C:C")) > 0 Then
CommandButton2.Enabled = True
End If
If Application.WorksheetFunction.CountA(Range("A:A")) > 0 Then
CommandButton1.Enabled = True
End If
End Sub

Nota: En el código anterior, CommandButton1 y CommandButton2 son los nombres de los botones, y A:A y C:C son las dos columnas que se utilizan para habilitar o deshabilitar dichos botones; cámbielas según sus necesidades.
3. A continuación, guarde y cierre la ventana de código. Ahora obtendrá el resultado siguiente, tal como necesita:
(1.) Si escribe datos en la columna A, el botón 1 se habilita y el botón 2 se deshabilita; consulte la captura de pantalla:

(2.) Si escribe datos en la columna C, el botón 2 se habilita y el botón 1 se deshabilita; consulte la captura de pantalla:

(3.) Si tanto la columna A como la columna C contienen datos, los dos botones están habilitados; consulte la captura de pantalla:

(4.) Los dos botones están deshabilitados si no hay datos ni en la columna A ni en la columna C; consulte la captura de pantalla:

Habilitar o deshabilitar un botón en función de los valores de dos celdas con código VBA
Si desea habilitar o deshabilitar un botón de comando en función de los valores de dos celdas —por ejemplo, que el botón se habilite cuando el valor de A1 sea mayor que el de B1 y se desactive en caso contrario—, el siguiente código VBA le resultará igualmente útil.
1. Haga clic con el botón derecho en la hoja que contiene el botón y, a continuación, elija Ver código en el menú contextual. En la ventana de Microsoft Visual Basic para Aplicaciones, copie y pegue el siguiente código en el módulo en blanco; consulte la captura de pantalla:
Código VBA: Habilitar o deshabilitar un botón en función de los valores de dos celdas:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim TargetAdd As String
Dim xTemp As Double
On Error GoTo ExitSub
TargetAdd = Target.Address
CommandButton1.Enabled = False
If (TargetAdd = Range("A1").Address) Or (TargetAdd = Range("B1").Address) Then
If Range("A1") > Range("B1") Then
CommandButton1.Enabled = True
End If
End If
ExitSub:
End Sub

Nota: En el código anterior, A1 y B1 son los valores de las celdas que utiliza, y CommanButton1 es el nombre del botón; cámbielos por los suyos propios.
2. A continuación, guarde y cierre la ventana de código. Ahora, si el valor de la celda A1 es mayor que el de B1, el botón se habilita; en caso contrario, si el valor de A1 es menor que el de B1, el botón se deshabilita. Consulte la captura de pantalla:

Las mejores herramientas de productividad para Office
Potencie sus habilidades en Excel con Kutools para Excel y experimente una eficiencia como nunca antes.Kutools para Excel ofrece más de 300 funciones avanzadas para aumentar su productividad y Ahorrar tiempo.Haga clic aquí para obtener la función que más necesita...
Office Tab aporta una interfaz con pestañas a Office y hace que su trabajo sea mucho más fácil
- Active la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
- Abra y cree varios documentos en nuevas pestañas dentro de la misma ventana, en lugar de hacerlo en ventanas separadas.
- ¡Aumente su productividad en un 50 % y elimine cientos de clics del ratón cada día!
Todos los complementos de Kutools en un solo instalador.
Kutools for Office es la suite que incluye complementos para Excel, Word, Outlook y PowerPoint, además de Office Tab Pro, ideal para equipos que trabajan en distintas aplicaciones de Office.
- Suite integral— complementos para Excel, Word, Outlook y PowerPoint + Office Tab Pro
- Un instalador, una licencia— configuración en minutos (compatible con MSI)
- Rendimiento mejorado en conjunto— productividad optimizada en todas las aplicaciones de Office
- Prueba gratuita de 30 días con todas las funciones— sin registro ni tarjeta de crédito
- La mejor relación calidad-precio— ahorre frente a la compra individual de complementos