Excel - Ejecutar una macro desde otra pero cerrando el primer libro antes

 
Vista:

Ejecutar una macro desde otra pero cerrando el primer libro antes

Publicado por Latrocinio (2 intervenciones) el 11/06/2015 20:54:44
Tengo una macro en un libro PRIMERO (XSLM) que realiza unas operaciones tediosas sobre unas tablas de google forms: tabula los datos con condiciones variadas y los coloca en un nuevo libro SEGUNDO, en ese libro se cargan programaticamente una macros para su tratamiento y posteriormente se llama a una de las macros de ese libro SEGUNDO.
Hasta ahi todo correcto, pero lo que quiero saber si se puede hacer y no se me ocurre como, es pasar el control a la nueva macro del libro SEGUNDO cerrando el libro PRIMERO, dado que con ambos abiertos se enlentece mortalmente.
Incluso deshabilitando todo:
Sub QuitaTodo()
With Application
.ScreenUpdating = False
.DisplayStatusBar = False
.DisplayAlerts = False
.EnableAnimations = False
.EnableEvents = False
.StatusBar = False
End With
End Sub

Any idea?
Alguna sugerencia?

Muchas gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Ejecutar una macro desde otra pero cerrando el primer libro antes

Publicado por Esterno N (1 intervención) el 11/06/2015 22:05:35
Sencillamente no creo que se pueda: si el "hilo" de ejecución de la segunda macro proviene de una llamada de una macro del primer libro y lo cierras, te cargas su "hilo" de ejecución y todos los que deriven de el, querra decir, segun yo lo veo, que te cargas tambien todos los "hilos" delegados, al menos a priori.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ejecutar una macro desde otra pero cerrando el primer libro antes

Publicado por nn (8 intervenciones) el 12/06/2015 16:44:44
podrias publicar todo para ver si se puede optimizar y hacer q no sea tan lento?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ejecutar una macro desde otra pero cerrando el primer libro antes

Publicado por jorge mario (1 intervención) el 12/06/2015 16:51:22
Hola:
Creo que deberias usar un tercer libro que abra y ejecute el libro que corresponda y luego lo cierre.
Aunque lo primero que haria seria revisar el porque de la ralentizacion.
Salu2
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ejecutar una macro desde otra pero cerrando el primer libro antes

Publicado por Latrocinio (2 intervenciones) el 12/06/2015 23:15:41
La lentitud se debe al excel y a no utilizar matrices para almacen temporal de variables, pero si las usara podria encontrarme con otros problemas de memoria: se ventila 2500 filas de encuestas y como uno de los parametros es de 250 valores, pues hago que se recorra las 2500 encuestas 250 veces en vez de recorrerlas solo una tomando datos y pasandolos a matrices.
Pago ese precio puesto que copio las hojas de resultados filtrando las que me interesan que me es menos costoso que reconstruir las encuestas desde las matrices, por ello opte por esta via.

Del otro modo habria de tener 250 matrices una por valor e ir seleccionandolas para la reconstruccion.

Se que lo que digo es algo criptico pero en general lo que hacen las macros es crear un libro de resultados por profesor, otro por asignatura y otro por curso, cada uno se crea y se carga con sus macros para representacion grafica de modo que los usuarios pican doble en una fila y obtienen los graficos para esa fila en cada uno de los casos. Ademas de esto se obtienen los resultados generales, a su vez graficables.

123dab847c953976580858a9a4334564o
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar