Cómo corregir conflicto entre Excel y script

Tengo un userform que se ejecuta mediante el siguiente script:

Set ObjExcel=Createobject(“Excel.Applicartion”)

ObjExcel. Visible=False

Set ObjLibro= ObjExcel.Workbooks.Open(“dirección y nombre del libro.xlsm”)

Set ObjExcel=Nothing

Set ObjLibro=Nothing

Hasta ahí todo bien, si me abre el usar form

En el userform tengo lo siguiente:

Workbooks.Open Filename:=(ThisWorkbook.Path & “\Base.xlsx”)

Varias instrucciones que no causan algún error

Unload Me

Windows(“Base.xlsx”).Close savechanges:= true

El problema es que al ejecutar esta macro al llegar a la línea donde tiene que cerrar y guardar cambios, se cierra por completo Excel cerrando el userform tambien, esto deja de suceder si en el script cambio la línea:

ObjExcel.Visible=False

por

ObjExcel.Visible=True 

Pero yo necesito que esté en False para evitar que se vea un parpadeo al iniciar el userform ya que si lo dejo en true se pone la pantalla blanca y después se ve el userform.

¿Alguien sabrá cómo corregir esto?

Respuesta

¿Haz probado deshabilitar la actualización de la pantalla?

Application.ScreenUpdating = False (Esto antes de iniciar todo el proceso)
Application.ScreenUpdating = True (Esto al finalizar todo el proceso)

Si ya lo utilice, de hecho colocó la instrucción en ThisWorkbook_Open

pero aún así al iniciar la marco se muestra este parpadeo, y lo que necesito es que al abrir el form se abra como si fuera cualquier otro programa.

Por ultimo se me ocurre que pruebes deshabilitando las alertas antes de guardar y cerrar

Aunque asumo que el pestañeo es por cambios de ventana (quizás son varios archivos que maneja el macro).

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas