Ejecutar una macro de listbox

Hola experto
Te abro una nueva consulta con el mismo titulo porque me sigue interesando, pero para otra cosa esta posibilidad. No sé como hacerlo. ¿Cómo ejecuto una macro desde un listbox según el valor que sea?

1 Respuesta

Respuesta
1
Debes voncular el ListBox a una celda. Adicionalmente, debes crear un macro que arranque con la instrucción:
Worksheet_SelectionChange(ByVal Target As Range)
Con ello el macro valida, cuando la celda cambia de estado y activa el macro.
Otra instrucción es igualmente con la instrucción Select, creando el código directamente en el listbox.
(Lo que pasa es que no sé escribirlo en VBE)
Gracias por el ejemplo, pero no es eso lo que buscaba. Eso ya lo resolví con un menú personalizado (Genial!).
Lo que busco ahora es una macro que tengo diseñada para cambiar de euros a pesetas una serie de valores, cuyo rango depende según la hoja.
Yo había pensado una macro que según la hoja en la que estuviera se me activara de una forma o de otra (hasta ahora tengo trece macros, una por hoja).
Lo que busco es una macro que me permita
If activesheet = hoja 1
call macro1
If activesheet = hoja 2
call macro2
...
else
call macro 13
La otra opción es según el Worksheet_SelectionChange(ByVal Target As Range), pero no sé como aplicarlo.
Estaría muy bien que según si pone euros o pesetas en una celda pudiese ejecutar una macro.
¿Y cómo quedaría la macro?
Ponme una sencilla que pueda hacer copypaste
No consigo poner en marcha esta macro.
¿Dónde pongo lo de Worksheet_SelectionChange(ByVal Target As Range)? ¿Y cómo defino el target?
Yo lo que quiero es que me diga
si a1= factura llama macro1
si a2= pago llama macro2
si a3= pez llama macro3
si a4= (otra cosa) llama macro4.
No consigo hacerlo!
Te envíe un ejemplo a tu correo
Pero lo que siento es que lo que necesitas no es un macro. Lo que necesitas es una fórmula. Es decir, si son dos tipos de monedas, lo que necesitas es colocar una fórmula condicinal dentro de la hoja.
De verdad, sé lo que pido. Te lo simplifico porque es un poco más complicado, ya que cambian bastantes cosas.
La hoja de calculo me presenta un informe que me cambia de euros a pesetas el informe. Sin embargo esto tiene unas connotaciones en las demás hojas que necesito corregir. Lo que me presentas tiene muy buena pinta, pero no consigo hacerla funcionar, se me dispara cada vez que clico en la hoja... no sé hacerla funcionar. Por favor., dime como hacer que
OPCIÓN a : En función del valor de la celda
range ("g12").VALUE
IF VALUE = "EUROS"
CALL EUROS
ELSE
CALL PESETAS
end sub
OPCIón B:
If activesheet = hoja 1
call macro1
If activesheet = hoja 2
call macro2
...
else
call macro 13
Por favor dime como escribir esto
Feliz año!
Buena solución. En contacto estamos!
Para los que estén interesados su recomendación fue
Sub ejecutarmacrocondicional()
if (Sheets("Hoja1").Range("A2").Value = 5) then
Application.Run "'nombrearchivo.xls'!euros"
else
Application.Run "'nombrearchivo.xls'!pesetas"
end if
End Sub
Funciona perfectamente

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas