Ejecutar una macro según la hoja abierta

Uso excel 2010 y uso una macro auto_open para maximizar la pantalla,

Esta macro se inicia con todas la hojas, mi pregunta es, ya que se ejecuta la auto_open

¿Podría ejecutar una macro según el libro que se abre?, p.e. En el escritorio tengo varios libros y cada vez que abro uno, ejecuto manualmente una macro, ¿Se podría desde la macro auto_open lanzar la macro que yo ejecuto manualmente según el nombre del libro que he abierto?.

Respuesta
1

Si puedes hacerlo, como eso es un procedimiento o una función en VBScript, lo puedes hacer con un Call NombreDeTuFuncionProcedimeinto y si necesitas parámetros se los pasas.

Gracias por tu pronta respuesta.

Lo cierto es que lo intenté con lo siguiente

Sub auto_open()
' Esta macro hace que al abrir la hoja de calculo se abra maximizada
Application.WindowState = xlMaximized
' Ejecutar macro de salida de hojas del almacen de Acabados a Órdenes de Producción
Dim OrdProd As String
OrdProd = ActiveWorkbook.Name
If OrdProd = "OrdProd.xls" Then
Call OrdenProduccion ' Nombre de la macro que ejecuto con la hoja abierta
End If
End Sub

Me da el error 91 en tiempo de ejecución variable de objeto o bloque with no establecido

y se posiciona en OrdProd = ActiveWork......

¿ Es posible que al ejecutar el auto_open no esté la hoja abierta y no sepa todavía en que fichero está y por ello el Activeworkbook.name no tiene todavía nada ?.

Gracias

Así, es, ya que eso es antes de cargar la hoja realmente, al momento de hacer el open del libro, busca otro evento que pueda servirte.

Bueno, veré que puedo encontrar para ejecutar la macro con el libro ya abierto, la verdad era que quería automatizar la ejecución al abrir el libro.

Muchas gracias.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas