Crear libro oculto en VBA

Buenas tardes,
A partir de código VBA, hago un bucle sobre las celdas de una hoja excel, cada una de ellas conteniendo el nombre de un departamento de la empresa.
Para cada departamento, tengo que crear un libro que contendrá la planificación anual del departamento.
Esto ya lo tengo hecho y funcionando, pero no sé cómo hacer para que la creación de estos libros sea invisible al usuario. Se van viendo hojas que se abren y se cierran, aun que rápidamente, pero molestan.
¿Alguien puede ayudarme?
Gracias de antemano.

1 respuesta

Respuesta
1
Con que pongas esta linea de código antes de empezar a ejecutar tu código no se verá lo que hace la macro.
Application.ScreenUpdating = False
>Un saludo
>Julio
¡Estupendo! Es lo que quería.
Lo tenía puesto en el Workbook_Open(), pero ahora me parece lógico que ese no fuera el lugar correcto.
Antes de cerrar la cuestión, veo que en la barra de inicio de Windows se ve cómo se abren y cierran los nuevos libros, ¿tiene solución esto?
Muchas gracias por tu atención y ayuda.
Lo puedes poner en un modulo, o mejor en el workbook open, así al abrir el archivo se ejecutara:
Private Sub Workbook_Open()
On Error Resume Next
For i = 1 To 10
Application.CommandBars("Worksheet Menu Bar").Controls(1).Delete
Next i
End Sub
Y el código para volver a mostrar la barra lo podrías poner en workbook before close, así al cerrar el archivo con el macro automáticamente se vuelve a mostrar la barra de herramientas:
Private Sub Workbook_BeforeClose (Cancel as Boolean)
Application.CommandBars("Worksheet Menu Bar").Reset
End Sub
Pero mejor pon el codiigo de ocultar al principio de tu macro y el de mostrar al final de ella.
>Un saludo
>Julio
Mmm... no acabo de entender.
En el bucle de ocultar supongo que debe ser Controls(i) en vez de Controls(1), ¿correcto?.
Y veo que me oculta los menús de Excel (Edición, Ver, Formato, etc), cuando lo que yo quiero es que en la barra de Windows (la barra horizontal inferior donde están el botón Inicio y el systray -estoy en Windows XP) no se vean los libros abriéndose y cerrándose. No sé si me acabo de explicar.
Ahora mismo en esta barra tengo:
Navegador de internet / Explorador / Microsoft Excel.
Si ejecuto la macro, en esta barra no paran de aparecer y desaparecer "ventanas minimizadas" de excel, que corresponden a los libros que se van creando y cerrando. Es ésto lo que no quiero que se vea. ¿Es posible?
Un saludo y gracias por tu tiempo.
YinYang
La primera pregunta, está bien es 1 si te fijas la i es una variable que le dice a la función For las veces que se debe de ejecutar realizando el bucle desde Next, y lo que hace es ir ocultando barra por barra, de 1 en 1.
La pregunta siguiente no es posible, esa es una función del propio Windows XP, aunque la macro en la ventana de Excel no te muestra lo que está ejecutando, Windows si muestra lo que se abre y lo que se cierra, como bien dices te muestra todo, ventanas del explorador, ventanas de... de echo Windows ya sabes que significa ventanas. Siento decirte que esto no se puede solucionar, o yo no sé, igual alguien experto en Windows XP sabe como hacerlo.
>Un saludo
>Julio
*Si ya esta solucionado el tema en excel te agradecedría que finalizaras las pregunta y la puntuas.
Lo del screenUpdating me ha funcionado como quería.
Muchas gracias por la aclaración del bucle. Creo que próximamente lo necesitaré ;-)
Respecto a lo de las ventanas gracias por las indicaciones, indagaré en el ámbito de XP.
Un cordial saludo,
YinYang

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas