Correr un macro que cambia de nombre cada cierto tiempo

Estoy intentando optimizar un archivo en excel. Tengo mi archivo base el cual se actualiza de otro archivo que descargo semanalmente. Pero ese archivo cambia su nombre dependiendo de la semana. Lo que hago es guardar el archivo con un nombre único en mi maquina. De ahí corro el macro sin problemas, pero quiero saber si hay manera de evitar eso.

Así es como aparece en mi VB

Windows("GP_PD_MPS_STARTS.xlsx").Activate

Por lo general viene el nombre + wk 3,4,5,6,7 cualquiera sea el caso.

1 respuesta

Respuesta
2

Cambia la línea de tu macro

Windows("GP_PD_MPS_STARTS.xlsx").Activate

Por esto:

    ruta = ThisWorkbook.Path & "\"
    sem = Application.WeekNum(Date)
    nombre = ruta & "GP_PD_MPS_STARTS wk" & sem & ".xlsx"
    If Dir(nombre) = "" Then
        MsgBox "El archivo de la semana no existe"
        Exit Sub
    End If
    Set l2 = Workbooks.Open(nombre)

El libro tendrá un nombre, por ejemplo

GP_PD_MPS_STARTS wk4.xlsx

El libro deberá estar en la misma carpeta que el libro que tiene la macro.

El número de semana se calcula empezando el día domingo.

Si el libro es de la semana anterior, cambia en la macro esto

sem = Application.WeekNum(Date)

Por esto

sem = Application.WeekNum(Date) - 1


Añade tu respuesta

Haz clic para o

Más respuestas relacionadas