Skip to main content

¿Cómo sincronizar listas desplegables en múltiples hojas de cálculo en Excel?

Author: Siluvia Last Modified: 2025-06-04

Supongamos que tienes listas desplegables en varias hojas de cálculo de un libro que contienen exactamente los mismos elementos desplegables. Ahora deseas sincronizar las listas desplegables entre las hojas de cálculo para que, una vez selecciones un elemento de una lista desplegable en una hoja, las listas desplegables en otras hojas se sincronicen automáticamente con la misma selección. Este artículo proporciona un código VBA para ayudarte a resolver este problema.

Sincronizar listas desplegables en múltiples hojas de cálculo con código VBA


Sincronizar listas desplegables en múltiples hojas de cálculo con código VBA

Por ejemplo, las listas desplegables están en cinco hojas de cálculo llamadas Hoja1, Hoja2, ..., Hoja5, para sincronizar las listas desplegables en otras hojas según la selección desplegable en Hoja1, aplica el siguiente código VBA para lograrlo.

1. Abre Hoja1, haz clic derecho en la pestaña de la hoja y selecciona Ver Código desde el menú contextual.

A screenshot showing the right-click menu on Sheet1 to view the code in Excel

2. En la ventana de Microsoft Visual Basic para Aplicaciones, pega el siguiente código VBA en la ventana Hoja1 (Código).

A screenshot showing the Microsoft Visual Basic for Applications window where the VBA code is pasted in Excel

Código VBA: Sincronizar lista desplegable en múltiples hojas de cálculo

Private Sub Worksheet_Change(ByVal Target As Range)
'Updated by Extendoffice 20220815
    Dim tSheet1 As Worksheet
    Dim tRange As Range
    Dim xRangeStr As String
    On Error Resume Next
    If Target.Count > 1 Then Exit Sub
    
    xRangeStr = "A2:A11"

    Set tRange = Intersect(Target, Range(xRangeStr))
    If Not tRange Is Nothing Then
        xRangeStr = tRange.Address
        Application.EnableEvents = False
        Set tSheet1 = ActiveWorkbook.Worksheets("Sheet2")
        tSheet1.Range(xRangeStr).Value = Target.Value
        Set tSheet1 = ActiveWorkbook.Worksheets("Sheet3")
        tSheet1.Range(xRangeStr).Value = Target.Value
        Set tSheet1 = ActiveWorkbook.Worksheets("Sheet4")
        tSheet1.Range(xRangeStr).Value = Target.Value
        Set tSheet1 = ActiveWorkbook.Worksheets("Sheet5")
        tSheet1.Range(xRangeStr).Value = Target.Value
        Application.EnableEvents = True
    End If
    
End Sub

Notas:

1) En el código, A2:A11 es el rango que contiene la lista desplegable. Asegúrate de que todas las listas desplegables estén en el mismo rango en las diferentes hojas de cálculo.
2) Hoja2, Hoja3, Hoja4 y Hoja5 son hojas de cálculo que contienen listas desplegables que deseas sincronizar basándote en la lista desplegable de Hoja1;
3) Para agregar más hojas de cálculo al código, añade las siguientes dos líneas antes de la línea “Application.EnableEvents = True”, luego cambia el nombre de la hoja “Hoja5” al nombre deseado.
Set tSheet1 = ActiveWorkbook.Worksheets("Hoja5")
tSheet1.Range(xRangeStr).Value = Target.Value

3. Presiona las teclas Alt + Q para cerrar la ventana de Microsoft Visual Basic para Aplicaciones.

Desde ahora, cuando selecciones un elemento de la lista desplegable en Hoja1, las listas desplegables en las hojas de cálculo especificadas se sincronizarán automáticamente para tener la misma selección. Consulta la siguiente demostración.

A GIF showing how the drop-down lists synchronize across worksheets when an item is selected in Excel


Demostración: Sincronizar Listas Desplegables en Múltiples Hojas de Cálculo en Excel

 

Las mejores herramientas de productividad para Office

🤖 Kutools AI Aide: 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 por varios criterios | Búsqueda de varios valores | Búsqueda en varias hojas | Coincidencia difusa....
Lista desplegable avanzada: Crea rápidamente una lista desplegable | Lista desplegable dependiente | Lista desplegable de selección múltiple....
Administrador de columnas: Agregar 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 | Administrador de Libro de trabajo y Hoja de cálculo | Biblioteca de AutoTexto | Selector de fechas | Combinar Datos | Cifrar/Descifrar celdas | Enviar correo electrónico por lista | Super Filtro | Filtro especial (filtrar celdas con fuente en negrita/cursiva/tachado...)...
Top15 conjuntos de herramientas:12 herramientas de texto (Agregar texto, Eliminar caracteres específicos, ...) | 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 para combinar y dividir (Combinar filas avanzado, Dividir celdas, ...) | ... y más

Potencia tus habilidades en Excel con Kutools para Excel y experimenta una eficiencia sin precedentes. Kutools para Excel ofrece más de300 funciones avanzadas para aumentar la productividad y ahorrar tiempo. Haz clic aquí para obtener la función que más necesitas...


Office Tab lleva la interfaz de pestañas a Office y facilita mucho tu trabajo

  • 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 lugar de nuevas ventanas.
  • ¡Aumenta tu productividad en un50% y reduce cientos de clics de ratón cada día!