Skip to main content

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

Author: Xiaoyang Last Modified: 2025-08-06

En este artículo, hablaré sobre algunos métodos para habilitar o deshabilitar un botón basado en el valor de una celda en la hoja de cálculo de Excel.

Habilitar o deshabilitar dos botones basados en datos de dos columnas con código VBA

Habilitar o deshabilitar un botón basado en los valores de dos celdas con código VBA


Habilitar o deshabilitar dos botones basados en datos de dos columnas con código VBA

Por ejemplo, tengo dos botones de comando en una hoja de cálculo: si la columna A tiene datos, el botón 1 está habilitado y el botón 2 está deshabilitado; si la columna C contiene datos, el botón 2 está habilitado y el botón 1 está deshabilitado. Para resolver esta tarea, el siguiente código VBA puede ayudarte.

1. Haz clic derecho en la hoja que contiene los botones y luego selecciona Ver código desde el menú contextual, como se muestra en la captura de pantalla:

a screenshot of opening the VBA code editor in Excel

2. En la ventana de Microsoft Visual Basic para Aplicaciones, copia y pega el siguiente código en el módulo en blanco:

Código VBA: Habilitar o deshabilitar dos botones basados en 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

a screenshot showing how to use the VBA code to disable two buttons

Nota: En el código anterior, CommandButton1 y CommandButton2 son los nombres de los botones, A:A y C:C son las dos columnas que usas para habilitar o deshabilitar dos botones, cámbialos según sea necesario.

3. Luego guarda y cierra la ventana de código, ahora obtendrás el siguiente resultado según lo necesites:

(1.) Si escribes datos en la columna A, el botón 1 está habilitado y el botón 2 está deshabilitado, como se muestra en la captura de pantalla:

a screenshot showing one button can be used and one is disabled based on value in column A

(2.) Si escribes datos en la columna C, el botón 2 está habilitado y el botón 1 está deshabilitado, como se muestra en la captura de pantalla:

a screenshot showing one button can be used and one is disabled based on value in column C

(3.) Tanto la columna A como la columna C tienen datos, ambos botones están habilitados, como se muestra en la captura de pantalla:

a screenshot showing both buttons can be used when column A and C have data

(4.) Ambos botones están deshabilitados si no hay datos en la columna A ni en la columna C, como se muestra en la captura de pantalla:

a screenshot showing both buttons are disabled when no data is in column A and C


Habilitar o deshabilitar un botón basado en los valores de dos celdas con código VBA

Si deseas habilitar o deshabilitar un botón de comando basado en los valores de dos celdas, por ejemplo, cuando el valor en A1 es mayor que el valor en B1, el botón está habilitado, de lo contrario, el botón está deshabilitado. El siguiente código VBA también puede ayudarte.

1. Haz clic derecho en la hoja que contiene el botón y luego selecciona Ver código desde el menú contextual, en la ventana de Microsoft Visual Basic para Aplicaciones, copia y pega el siguiente código en el módulo en blanco, como se muestra en la captura de pantalla:

Código VBA: Habilitar o deshabilitar un botón basado en 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

a screenshot showing how to use the VBA code to enable or disable a button

Nota: En el código anterior, A1 y B1 son los valores de las celdas que utilizas, CommanButton1 es el nombre del botón, cámbialos a tus propios valores.

2. Luego guarda y cierra la ventana de código, ahora, si el valor de la celda en A1 es mayor que B1, el botón está habilitado, de lo contrario, si el valor de la celda en A1 es menor que B1, el botón está deshabilitado, como se muestra en la captura de pantalla:

a screenshot showing the different status of a button based on cell value


Las mejores herramientas de productividad para Office

🤖 Asistente de IA de Kutools: Revoluciona el análisis de datos basado 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 | Redondear...
Super BUSCARV: Búsqueda con múltiples criterios | Búsqueda de múltiples valores | Búsqueda en varias hojas | Coincidencia difusa....
Lista desplegable avanzada: Crea rápidamente listas desplegables | Lista desplegable dependiente | Lista desplegable con selección múltiple....
Administrador de columnas: Agregar un número específico de columnas | Mover columnas | Cambiar la visibilidad de columnas ocultas | Comparar rangos y columnas...
Funciones destacadas: Cuadrícula de enfoque | Vista de diseño | Barra de fórmulas mejorada | Administrador de libros y hojas de cálculo | Biblioteca de AutoTexto | Selector de fechas | Combinar Datos | Encriptar/Descifrar celdas | Enviar correo electrónico por lista | Super Filtro | Filtro especial (filtro negrita/cursiva/tachado...)...
Top15 conjuntos de herramientas:12 herramientas de texto (Agregar texto, Eliminar caracteres, ...) | Más de50 tipos de gráficos (Diagrama de Gantt, ...) | Más de40 fórmulas prácticas (Calcular edad basada en la fecha de nacimiento, ...) |19 herramientas de inserción (Insertar código QR, Insertar imagen desde ruta, ...) |12 herramientas de conversión (Convertir a palabras, Conversión de moneda, ...) |7 herramientas de combinar y dividir (Combinar filas avanzado, Dividir celdas, ...) | ... y mucho más
Utiliza Kutools en tu idioma preferido: ¡compatible con Inglés, Español, Alemán, Francés, Chino y más de40 idiomas adicionales!

Impulsa al máximo tu dominio de Excel con Kutools para Excel y experimenta una eficiencia sin precedentes. Kutools para Excel ofrece más de300 funciones avanzadas para potenciar la productividad y ahorrar tiempo.Haz clic aquí para obtener la función que más necesitas...


Office Tab aporta una interfaz de pestañas a Office y hace tu trabajo mucho más sencillo

  • Habilita la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
  • Abre y crea varios documentos en nuevas pestañas de la misma ventana, en vez de en nuevas ventanas.
  • ¡Aumenta tu productividad hasta un50% y reduce cientos de clics de ratón cada día!