Ejecutar macro al abrir libro (Thisworkbook), sin afectar otros libros.

Espero poderme explicar correctamente. He hecho una macro en Thisworkbook, que al abrir un determinado libro me oculte las barras de herramientas, de desplazamiento, formulas, estado, etc. Esto debido a que he creado algunas plantillas de trabajo y en ellas intento evitar que sufran alguna modificación, además de que esto le da un mejor aspecto a cada plantilla.

Esto funciona muy bien, pero sí deseo abrir un libro nuevo o cualquier otro, se ejecuta la macro y me oculta todo.

Para mi no es problema, porque de hecho yo prefiero trabajar así y sí requiero de las herramientas solo doy clic a la tecla "ESC" y se hacen visibles, no obstante, estas plantillas como lo comente, las comparto con otros compañeros y a ellos no les agrada mucho que al estar trabajando con un libro, se ejecute la macro al abrir cualquiera de mis plantillas.

La macro es realmente muy sencilla, lo que no se es como ejecutarla sólo en el libro que yo le indique, sin afectar a otros libros a abrirlo.

Private Sub Workbook_Open()
Application.ScreenUpdating = False
ActiveWindow.DisplayHeadings = False
Application.DisplayFormulaBar = False
ActiveWindow.DisplayGridlines = False
Application.DisplayFullScreen = True

End Sub

2 Respuestas

Respuesta
2

De forma predeterminada, los libros de Excel se abren en la misma ventana, de esa forma los cambios que hagas en la ventana(como el de ocultar las barras de herramientas) afectan a los demás libros de Excel que estén abiertos en esa ventana. Lo que puedes hacer es utilizar los eventos Workbook_Activate y Workbook_Deactivate; el evento Workbook_Activate te permitirá ejecutar una macro cuando el libro se active, y el evento Workbook_Deactivate te permitirá ejecutar una macro cuando el libro se desactive. Cuando el libro en el que deben estar ocultas las barras de herramientas se abra se ejecutará el evento Workbook_Open y ocultará las barras de herramientas, cuando cambies a otro libro se ejecutará el evento Workbook_Deactivate y mostrará las barras de herramientas y cuando regreses al libro en el que deben estar ocultas las barras de herramientas se ejecutará el evento Workbook_Activate y ocultará las barras de herramientas. Te dejo las macros, deben ir junto a la macro del evento Workbook_Open.

Private Sub Workbook_Activate()
    Application.ScreenUpdating = False
    ActiveWindow.DisplayHeadings = False
    Application.DisplayFormulaBar = False
    ActiveWindow.DisplayGridlines = False
    Application.DisplayFullScreen = True
End Sub
Private Sub Workbook_Deactivate()
    Application.ScreenUpdating = True
    ActiveWindow.DisplayHeadings = True
    Application.DisplayFormulaBar = True
    ActiveWindow.DisplayGridlines = True
    Application.DisplayFullScreen = False
End Sub
Private Sub Workbook_Open()
    Application.ScreenUpdating = False
    ActiveWindow.DisplayHeadings = False
    Application.DisplayFormulaBar = False
    ActiveWindow.DisplayGridlines = False
    Application.DisplayFullScreen = True
End Sub

Muchísimas gracias por tu respuesta, funciono al 100%

Que pena, era algo tan obvio y sencillo... no cabe duda que en ocasiones la respuesta más simple, resulta ser la más efectiva, gracias!!!

Respuesta

Alberto una consulta me funciona perfectamente al usar los eventos, pero al momento de pegar datos al libro no me permite hacerlo.

Necesito pegar datos de un libro a la Macro pero no se puede

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas