activar una macro a partir de una lista desplegable

6 envíos / 0 nuevos
Último envío
excel1977
Imagen de excel1977
Offline
última acción: Hace 3 años 9 meses
Nivel 1 - 200 puntos
alta: 19/11/2014 - 10:00
Puntos: 450
activar una macro a partir de una lista desplegable

Buenas de nuevo,

Necesitaría un código en vb que me ejecute una macro que ya rengo hecha en mi hoja de excel, o sea:

Tengo enn una celda C7, una lista desplegable con los posibles valores 1,2,3 entonces lo que quiero es que cuando selecciono el valor 1 me active mi macro1, cuando seleccione 2 me active mi macro 2 y lo mosmo con el 3.-

 

Gracias.

 

Cron
Imagen de Cron
Offline
última acción: Hace 8 meses 2 días
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntos
alta: 23/06/2010 - 12:30
Puntos: 12735
Por partes.Hay tres maneras

Por partes.

Hay tres maneras de poner un desplegable en una celda. La primera es mediante validación de datos.

Si lo has hecho así, lo que tienes que hacer es interceptar el evento Worksheet_Change. Dentro del código, debes comprobar si la celda modificada es la C7, o la que quieras controlar. Y si es así, continuar.

La segunda manera es incrustar un control de formulario. Es la manera más sencilla, pues lo único que tienes que hacer es pulsar sobre él con botón derecho y elegir "Asignar macro". Automáticamente te lleva a la ventana de código y te crea la macro donde debes poner el código que quieres que se ejecute utilizando la selección.

La tercera es incrustando un control ActiveX. En este caso, pincha con botón derecho sobre el control, selecciona "ver código" y te pasa a la ventana de código en el lugar donde debes insertar el código que quieres que se ejecute.

 

Un saludo

 

 

P.D. He releído tu pregunta, y creo que me lie yo solo.

En el lugar donde te he comentado debes poner la orden que ejecute tu macro. Supongamos que se llaman macro1, macro2 y macro3. Sería algo así:

select case cells(7,3).value

case 1

macro1

case 2

macro2

case 3

macro3

case else

exit sub

end select

 

excel1977
Imagen de excel1977
Offline
última acción: Hace 3 años 9 meses
Nivel 1 - 200 puntos
alta: 19/11/2014 - 10:00
Puntos: 450
no me funciona

Buenas de nuevo cron. creo que estoy haciendo algo mal, porque he copiado tu código y lo he pegado en mi modulo de vb para excel, el caso es que cuando desplego mi lista y selecciono bien 1,2 o 3 que son las posibilidades que tengo, no me ejecuta ninguna de mis macros.

Cron
Imagen de Cron
Offline
última acción: Hace 8 meses 2 días
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntos
alta: 23/06/2010 - 12:30
Puntos: 12735
Bueno, lo primero es saber

Bueno, lo primero es saber cómo has puesto el desplegable. Como te dije, hay tres maneras, y cada una es diferente.

excel1977
Imagen de excel1977
Offline
última acción: Hace 3 años 9 meses
Nivel 1 - 200 puntos
alta: 19/11/2014 - 10:00
Puntos: 450
Tipo de lista

Hola Cron,

la lista que yo trngo hecha es desde datos--validacion de datos--en permitir selecciono lista----y selecciono el rango de mi lista 1,2,3

Cron
Imagen de Cron
Offline
última acción: Hace 8 meses 2 días
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntos
alta: 23/06/2010 - 12:30
Puntos: 12735
Entonces lo tienes que poner

Entonces lo tienes que poner en

    Private Sub Worksheet_Change(ByVal Target As Range)

    end Sub

Dentro de la hoja en cuestión.

Ahí pones un código que compruebe si ha cambiado la celda que tú necesitas. Por ejemplo algo así:

    If target= range("C7") then

    end if


Y dentro de este if-then colocas el código que te puse.


Saludos