KutoolsforOffice — Una solución, cinco potentes herramientas.Lograr más con menos esfuerzo.Venta de marzo: 20 % de descuento

¿Cómo habilitar o deshabilitar un botón según el valor de una celda en Excel?

AutorXiaoyang Fecha de modificación

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:

una captura de pantalla de la apertura del editor de código VBA en Excel

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

una captura de pantalla que muestra cómo utilizar el código VBA para deshabilitar dos botones

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:

una captura de pantalla que muestra que un botón se puede usar y otro está deshabilitado según el valor en la columna A

(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:

una captura de pantalla que muestra que un botón se puede usar y otro está deshabilitado según el valor en la columna C

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

una captura de pantalla que muestra que ambos botones se pueden usar cuando las columnas A y C tienen datos

(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:

una captura de pantalla que muestra que ambos botones están deshabilitados cuando no hay datos en las columnas A y C


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

una captura de pantalla que muestra cómo utilizar el código VBA para habilitar o deshabilitar un botón

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:

una captura de pantalla que muestra el estado diferente de un botón en función del valor de la celda


Las mejores herramientas de productividad para Office

🤖KUTOOLS AI Asistente: Revolucione Análisis de datos basándose en:Ejecución Inteligente   |  Generar código|  Crear fórmulas personalizadas  |  Analizar datos y generar gráficos|  Invocar Funciones mejoradas
Funciones populares:Buscar, resaltar o Marcar duplicados   |  Eliminar filas en blanco   |  Combinar Columnas o celdas sin perder datos   |   Redondeo sin usar fórmulas...
Super BUSCARV:Búsqueda vertical (VLookup) con múltiples criterios  |  Búsqueda vertical (VLookup) con múltiples valores  |   Búsqueda vertical (VLookup) entre varias hojas   |   Coincidencia difusa....
Lista desplegable avanzada:Crear rápidamente una lista desplegable   |  Lista desplegable dependiente   |  Lista desplegable de selección múltiple....
Gestor de columnas:Añadir un número específico de columnas|Mover columnas|Alternar el estado de visibilidad de columnas ocultas|Comparar rangos y columnas...
Funciones destacadas:Cuadrícula de enfoque   |  Vista de diseño   |Barra de fórmulas mejorada   | Gestor de libros y hojas   |  Biblioteca de recursos(Texto automático)|  Selector de Fecha   |  Combinar Hojas de Cálculo  |  Cifrar/Descifrar celdas   | Enviar correos electrónicos desde una lista   |  Super Filtro   |   Filtro especial(Filtrar celdas con fuente en negrita/cursiva/tachado...) ...
Principales conjuntos de herramientas 15:12 Herramientasde texto(Agregar texto,Eliminar caracteres específicos, ...)|   50+Tiposde gráfico(Diagrama de Gantt, ...)|   40+ Fórmulas prácticas(Calcular la edad basada en la fecha de nacimiento, ...)|   19 Herramientasde inserción(Insertar Código QR,Insertar imagen desde ruta, ...)|   12 Herramientasde conversión(Convertir a palabras,Conversión de moneda, ...)|   7 Herramientasde combinación y división(Combinar filas avanzado,Dividir celdas, ...)|...y muchas más
Use Kutools en su idioma preferido: compatible con inglés, español, alemán, francés, chino y 40+ más idiomas.¡

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.

ExcelWordOutlookTabsPowerPoint
  • 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