Note: The other languages of the website are Google-translated. Back to English

¿Cómo ejecutar una macro según el valor seleccionado de la lista desplegable en Excel?

Ejecutar macros haciendo clic en el botón de comando es una tarea común en Excel, pero, ¿alguna vez ha intentado ejecutar los códigos de macro en función del valor que se selecciona de la lista desplegable? Significa que, cuando elige un elemento de la lista desplegable, la macro específica se activará de inmediato. Este artículo presentará un código útil para resolver este trabajo.

Ejecute la macro según el valor seleccionado de la lista desplegable con código VBA


flecha azul burbuja derecha Ejecute la macro según el valor seleccionado de la lista desplegable con código VBA

No hay una forma directa de finalizar esta tarea, pero el siguiente código VBA puede ayudarlo, haga lo siguiente:

1. En primer lugar, cree una lista desplegable que necesite, vea la captura de pantalla:

doc ejecutar macro desde el menú desplegable 1

2. Luego, haga clic con el botón derecho en la pestaña de la hoja que contiene el menú desplegable que desea usar, y luego elija Ver código desde el menú contextual, y en el Microsoft Visual Basic para aplicaciones ventana, copie y pegue el siguiente código en el módulo en blanco:

Código de VBA: ejecute la macro según el valor seleccionado de la lista desplegable:

Private Sub Worksheet_Change(ByVal Target As Range)
	If Not Intersect(Target, Range("E1")) Is Nothing Then
	    Select Case Range("E1")
	        Case "Insert Blank rows": Macro1
	        Case "Hide All Sheets": Macro2
            Case "Convert to Date": Macro3
	    End Select
	End If
	End Sub

doc ejecutar macro desde el menú desplegable 2

Nota:: En el código anterior, E1 Si la celda contiene la lista desplegable, cambie los nombres de las macros y los valores de la lista desplegable según sus necesidades.

3. Y luego guarde y cierre esta ventana de código, ahora, cuando seleccione el elemento Insertar filas en blanco de la lista desplegable, se activará Macro1, y así sucesivamente ...


Artículos relacionados:

¿Cómo ejecutar una macro cuando el valor de la celda cambia en Excel?

¿Cómo ejecutar una macro basada en el valor de la celda en Excel?

¿Cómo ejecutar macro automáticamente antes de imprimir en Excel?

¿Cómo ejecutar una macro haciendo clic en hipervínculos en Excel?

¿Cómo ejecutar una macro cuando se selecciona una hoja de un libro de trabajo?


Las mejores herramientas de productividad de oficina

Kutools para Excel resuelve la mayoría de sus problemas y aumenta su productividad en un 80%

  • Reutilizar: Inserte rápidamente fórmulas complejas, gráficos y cualquier cosa que hayas usado antes; Cifrar celdas con contraseña; Crear lista de distribución y enviar correos electrónicos ...
  • Barra de súper fórmula (edite fácilmente varias líneas de texto y fórmulas); Diseño de lectura (leer y editar fácilmente un gran número de celdas); Pegar en rango filtrado...
  • Combinar celdas / filas / columnas sin perder datos; Contenido de celdas divididas; Combinar filas / columnas duplicadas... Prevenir celdas duplicadas; Comparar rangos...
  • Seleccione Duplicado o Único Filas; Seleccionar filas en blanco (todas las celdas están vacías); Super Find y Fuzzy Find en muchos libros de trabajo; Selección aleatoria ...
  • Copia exacta Varias celdas sin cambiar la referencia de la fórmula; Crear referencias automáticamente a varias hojas; Insertar viñetas, Casillas de verificación y más ...
  • Extraer texto, Agregar texto, Eliminar por posición, Quitar espacio; Crear e imprimir subtotales de paginación; Convertir entre contenido de celdas y comentarios...
  • Súper filtro (guardar y aplicar esquemas de filtros a otras hojas); Orden avanzado por mes / semana / día, frecuencia y más; Filtro especial en negrita, cursiva ...
  • Combinar libros y hojas de trabajo; Combinar tablas basadas en columnas clave; Dividir datos en varias hojas; Conversión por lotes de xls, xlsx y PDF...
  • Más de 300 potentes funciones. Compatible con Office/Excel 2007-2021 y 365. Compatible con todos los idiomas. Fácil implementación en su empresa u organización. Funciones completas Prueba gratuita de 30 días. Garantía de devolución de dinero de 60 días.
pestaña kte 201905

Office Tab lleva la interfaz con pestañas a Office y hace que su trabajo sea mucho más fácil

  • Habilite 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 de la misma ventana, en lugar de en nuevas ventanas.
  • ¡Aumenta su productividad en un 50% y reduce cientos de clics del mouse todos los días!
officetab parte inferior
Comentarios (6)
Aún no hay calificaciones. ¡Sé el primero en calificar!
Este comentario fue minimizado por el moderador en el sitio
funciona efectivamente pero quiero aplicarlo en varias celdas, que variable debo cambiar?
Este comentario fue minimizado por el moderador en el sitio
¿Hay alguna manera de usar el código VBA para hacer esto en Access? Gracias
Este comentario fue minimizado por el moderador en el sitio
Hola!

Al aplicarlo me sale un error de compilación: La declaración del procedimiento no coincide con la descripción del evento o el procedimiento que tiene el mismo nombre. Que quiere decir eso? que debo cambiar/arreglar? Gracias
Este comentario fue minimizado por el moderador en el sitio
Buenos Dias. ¿Sería capaz de hacer Macro desde el menú desplegable para lo siguiente: Para ejecutar macro y guardar hojas separadas para cada elemento del menú desplegable? En tu caso debería verse así:
1. Ejecuta la macro y luego tiene una hoja separada con valores para "Insertar filas en blanco" guardada en la carpeta designada
2. Hoja separada con valores para "Ocultar todas las hojas:" guardada en la carpeta designada
3. Hoja separada con valores para "Convertir a la fecha" guardada en la carpeta designada.
4. La macro ya está lista


Principalmente, puedo configurar todo esto, excepto que la macro cambia automáticamente la selección del menú desplegable.


Muchas Gracias


Ivan
Este comentario fue minimizado por el moderador en el sitio


PRIMER CÓDIGO FUNCIONANDO PERFECTAMENTESub hoja de trabajo privada_Cambio (según el rango de destino ByVal)
Si no intersecta (objetivo, rango ("D1")) no es nada, entonces
Seleccionar rango de casos ("D1")
         Caso "0.5": Mitad
         Caso "1": Uno
         Caso "1.25": OneTwentyFive
Fin Seleccionar
Si terminar
End Sub
EL SEGUNDO CÓDIGO NO FUNCIONA (corregir lo siguiente)
Cambio secundario privado (objetivo ByVal como rango)
Si no intersecta (objetivo, rango ("D2")) no es nada, entonces
Seleccionar rango de casos ("D2")
         Caso "9.53": nuevepuntocincotres
Fin Seleccionar
Si terminar
End Sub
Este comentario fue minimizado por el moderador en el sitio
A co jeśli potrzebuję aby po uruchomieniu makra wszystkie listy rozwijane ustawiły się na jeden z wyborów z listy? W sumie odwrotnie do tego co jest w poście. Czy istnieje na to łatwiejszy sposób?
No hay comentarios publicados aquí todavía
Deje sus comentarios
Publicar como invitado
×
Califica esta publicación:
0   Personajes
Ubicaciones sugeridas

Seguinos

Copyright © 2009 - www.extendoffice.com. | Reservados todos los derechos. Energizado por ExtendOffice, | Mapa del Sitio
Microsoft y el logotipo de Office son marcas comerciales o marcas comerciales registradas de Microsoft Corporation en los Estados Unidos y / o en otros países.
Protegido por Sectigo SSL