Que no se abra la excel que contiene la macro

Tengo un fichero Excel, que contiene una macro con “user form”, al hacer correr el “user form”, uno de los botones permite direccionar un fichero “X” que se quiere trabajar mediante la macro.

Al probarla en office 2010, lo hacía según lo esperado corría el “user form”, escogíamos el fichero a trabajar y el foco aún a pesar de tener dos ficheros de Excel abiertos(uno el que contiene a la macro y otro el fichero que escogimos mediante botón ), apuntaba al fichero que se necesitaba convertir.

Pero en Office 2013, el foco apunta al fichero que contiene la macro, por lo cual minimizamos el fichero contenedor mediante: “ActiveWindow.windowState = xlMinimized “, para que sólo estuviera activo el que necesitamos, con la versión 2010 de Office, funciona igualmente, pero con la versión 2013 de Office, no muestra el Excel que contiene a la macro, deja ver directamente el user form, pero el foco sigue apuntando a la Excel contenedor.

Por favor tenéis alguna idea que pueda ayudarme

1 Respuesta

Respuesta
1

H o l a:

Envíame 2 archivos, uno con la macro y el otro archivo"X", me dices a qué formulario entro y qué botón debo presionar.

Mi correo [email protected]

En el asunto del correo escribe tu nombre de usuario “Kenyali donnus” y el título de esta pregunta.

H o l a:

En esta función

Function CopiarDirecciones()
    Dim ArchivoEntrada As String
    Dim wb_CorrCom As Workbook
    'Ruta del archivo cerrado - fuente
    'ArchivoEntrada = "O:\GENERAL\Dpto. Customer Service\Gestión pendientes\Listado comercial con email ZV19.xlsx"
    ArchivoEntrada = "C:\GeneracionEnvioListados\Listado comercial con email ZV19.xlsx"
    'ArchivoEntrada = ThisWorkbook.Path & "\Listado comercial con email ZV19.xlsx"
    'Abrir el libro fuente a través del objeto wb.  Sólo lectura
    activo = ActiveWorkbook.Name
    Set wb_CorrCom = Workbooks.Open(ArchivoEntrada, True, True)
    'Copiar del libro cerrado el rango A1:A5 de la hoja 1 y
    'pegarlo en el libro abierto en la hoja 1, en el rango "A1"
    'Asocio individual
    wb_CorrCom. Worksheets(1). Range("B3:E200"). Copy Workbooks(activo). Worksheets(1). Range("AX2:BA200")
    'Asocio agrupado
    wb_CorrCom. Worksheets(2). Range("B3:C30"). Copy Workbooks(activo). Worksheets(1). Range("BD2:BFA200")
    wb_CorrCom.Close False
    'vaciamos la variable
    Set wb = Nothing
End Function

Agregué esta línea:

activo = ActiveWorkbook.Name

Y en estas líneas cambié el 2 por la variable activo:

    wb_CorrCom. Worksheets(1). Range("B3:E200"). Copy Workbooks(activo). Worksheets(1). Range("AX2:BA200")
    'Asocio agrupado
    wb_CorrCom. Worksheets(2). Range("B3:C30"). Copy Workbooks(activo). Worksheets(1). Range("BD2:BFA200")

Prueba y me comentas.

':)
S a l u d o s . D a n t e A m o r
':) Si es lo que necesitas. Recuerda valorar la respuesta. G r a c i a s.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas