Buenas de nuevo,
Lo que quiero hacer basicamente es que se me ejecute un sub sin pulsar ningun tipo de boton, como si fuese una función
Tengo un Sub que funciona bien, pero para ejecutarlo tengo que pulsar un botón al que he asignado una macro, pues bien me gustaría que se ejecutase automáticamente ese sub cuando modifico los parámetros que le afectan pero sin tener que pulsar el botón, es decir como si fuese una function.-
¿ Se podría hacer desde una fuction haciendo una llamada al Sub ? La verdad que no tengo ni idea de como hacer esto.
Gracias y saludos.-
Pues claro que se puede hacer.
En el código, selecciona primero Worksheet y después Change.
Esto te crea la subrutina Worksheet_Change.
También se habrá creado la de Selectionchange. Si no la vas a utilizar, puedes borrarla.
Dentro de Worksheet_Change tienes que hacer una comprobación:
If Target.Address = "$D$6" <-----------------Aquí compruebas que la celda que ha cambiado es a la que le quieres aplicar el código. He puesto como ejemplo la D6, pero puedes poner la que quieras.
Aquí haces cosas
end If
Si quieres hacer cosas diferentes en función de la celda que cambie, puedes hacer un SELECT CASE así:
Select case Target.Address
Case "$D$6"
Haces cosas
Case "$A$1"
Haces otras cosas
End select
Debes tener en cuenta que no funcionará sin los símbolos de dólar, pues así es como Excel envía la dirección de la celda.
Un saludo
Está hecho, gracias.-
Que bueno es saber que Visual Basic nos ayuda a realizar tareas que Excel regular no nos permite hacer :)