Cambio de nombre de archivo inutiliza la macro

El asunto es que hice una macro que trae unas fórmulas de otro archivo, digamos que las fórmulas están en el archivo: fórmulas y la macro en el archivo: salida.
Esto funciona a la perfección, pero NECESITO cambiar el nombre del archivo salida por cualquier otro y que la macro siga funcionando, ¿cómo podría hacerse?
Te adjunto el código que estoy empleando
 ChDir "C:\EC - AGRICOLAS\0Parametros"
    Workbooks.Open Filename:= _
        "C:\EC - AGRICOLAS\0Parametros\FTEC03 Estructura de costo Digital - Formulas.xls"
    Range("M9:Q13").Select
    Selection. Copy
    Windows("FTEC03 Estructura de costo Digital.xls").Activate
    Range("M9").Select
    ActiveSheet. Paste
    Windows("FTEC03 Estructura de costo Digital - Fórmulas.xls").Activate
    Range("G21:G501").Select
    Selection. Copy
    Windows("FTEC03 Estructura de costo Digital.xls").Activate
    Range("G21").Select
    ActiveSheet. Paste
    Windows("FTEC03 Estructura de costo Digital - Fórmulas.xls").Activate
    Range("O21:O501").Select
    Selection. Copy
    Windows("FTEC03 Estructura de costo Digital.xls").Activate
    Range("O21").Select
    ActiveSheet. Paste
    Windows("FTEC03 Estructura de costo Digital - Fórmulas.xls").Activate
    Range("X21:X501").Select
    Selection. Copy
    Windows("FTEC03 Estructura de costo Digital.xls").Activate
    Range("X21").Select
    ActiveSheet. Paste
    Windows("FTEC03 Estructura de costo Digital - Fórmulas.xls").Activate
    Range("AG21:AG501").Select
    Selection. Copy
    Windows("FTEC03 Estructura de costo Digital.xls").Activate
    Range("AG21").Select
    ActiveSheet. Paste
    Windows("FTEC03 Estructura de costo Digital - Fórmulas.xls").Activate
    Range("AP21:AP501").Select
    Selection. Copy
    Windows("FTEC03 Estructura de costo Digital.xls").Activate
    Range("AP21").Select
    ActiveSheet. Paste
    Windows("FTEC03 Estructura de costo Digital - Fórmulas.xls").Activate
    Range("AY21:AY501").Select
    Selection. Copy
    Windows("FTEC03 Estructura de costo Digital.xls").Activate
    Range("AY21").Select
    ActiveSheet. Paste
    Windows("FTEC03 Estructura de costo Digital - Fórmulas.xls").Activate
    Range("BH21:BH501").Select
    Selection. Copy
    Windows("FTEC03 Estructura de costo Digital.xls").Activate
    Range("BH21").Select
    ActiveSheet. Paste
    Windows("FTEC03 Estructura de costo Digital - Fórmulas.xls").Activate
    Range("BQ21:BQ501").Select
    Selection. Copy
    Windows("FTEC03 Estructura de costo Digital.xls").Activate
    Range("BQ21").Select
    ActiveSheet. Paste
    Windows("FTEC03 Estructura de costo Digital - Fórmulas.xls").Activate
    Range("BZ21:BZ501").Select
    Selection. Copy
    Windows("FTEC03 Estructura de costo Digital.xls").Activate
    Range("BZ21").Select
    ActiveSheet.Paste
    Application.CutCopyMode = False
    Workbooks("FTEC03 Estructura de costo Digital - Formulas.xls").Close SaveChanges:=False
    Windows("FTEC03 Estructura de costo Digital.xls").Activate
    Range("A1").Select
End Sub
Como veras, si cambio el nombre del archivo "FTEC03 Estructura de costo Digital.xls" la macro deja de funcionar
De antemano te agradezco cualquier colaboracion.
<span class="ad">[color=#888888] [/color]
</span>

1 respuesta

Respuesta
-1
Se me ocurre hacer lo siguiente (no recuerdo toda la sintaxis para VB for Applications), pero la idea seria:
1. Tener en una celda del libro de origen el nombre del archivo destino
2. Una instrucción que asigne el valor del contenido en esa celda a una variable de tipo string
3. Cambiar las instrucciones para que en vez de:
Windows("FTEC03 Estructura de costo Digital - Fórmulas.xls").Activate
    Range("BQ21:BQ501").Select
    Selection. Copy
    Windows("FTEC03 Estructura de costo Digital.xls").Activate
    Range("BQ21").Select
    ActiveSheet. Paste
Diga
Windows("FTEC03 Estructura de costo Digital - Fórmulas.xls").Activate
    Range("BQ21:BQ501").Select
    Selection. Copy
    Windows(ArchivoDestino). Activate
    Range("BQ21").Select
    ActiveSheet. Paste
Donde la variable ArchivoDestino contiene el nombre del archivo que va a servir como destino, esto ya permite entonces una mayor automatización, ya que desde el archivo origen se pueden definir los respectivos destinos
Julius
-Guatemala-

Añade tu respuesta

Haz clic para o