Copiar archivos de excel a otro formato

Buenas tardes,

Tengo 7200 archivos todos con el mismo formato de excel, pero me toca migrarlos a otro formato excel, las información debe quedar en las mismas celdas y cada archivo debe guardarse con el texto que está en la celda a3. El problema es que ambos formatos tienen columnas en las que no va información pero están protegidas por escritura y cuando intento correr la macro, esta dice que las celdas que intento copiar están protegidas por escritura. La macro que he realizado es la siguiente:

Sub juntar_archivos()
mio = ActiveWorkbook.Name
ChDir "c:\FBnuevo\" nuevo = Dir("nuevo.xlsm")
Workbooks.Open nuevo
ChDir "c:\FB\" archi = Dir("*.xl*")
Do While archi <> ""
Workbooks.Open archi
' fila = Workbooks(nuevo).Sheets(1).Range("a65000").End(xlUp).Row + 1
Sheets("Formulario_Familia").Range("a3:c3, e3:f3, h3:gp3").Copy

ActiveWorkbook.Close False
ActiveSheet.Paste Destination = Workbooks(1).Sheets(1).Cells(1, 3)
nombre = Sheets("Formulario_Familia").Range("a3").Value
ChDir "c:\FBnuevo\"
ActiveWorkbook.SaveAs nombre
ChDir "c:\FB\"
archi = Dir() Loop
End Sub

Los archivos están en una carpeta en C:\FB, y los necesito copiar en la carpeta C:\FBnuevo; el archivo en blanco que contiene el nuevo formato se llama nuevo y está en la carpeta FBnuevo, necesito copiar los rangos a3:c3, e3:f3, h3:p3; las columnas d y g están protegidas, ya que estos archivos contienen macros que colocan código de forma automática en esas columnas.

Les agradecería mucho la ayuda.

1 respuesta

Respuesta
1

Hice varios ajustes, pero ya funciona

Sub juntar_archivos()
'Macro, lee archivos y los guarda en otra carpeta
'Por.dam
mio = ActiveWorkbook.Name
'nuevo = Dir("nuevo.xls")
'Workbooks.Open nuevo
rutafb = "C:\fb\"
rutafbnuevo = "C:\fbnuevo\"
nuevo = "nuevo.xlsm"
ChDir rutafb
archi = Dir("*.xl*")
Do While archi <> ""
Workbooks.Open rutafbnuevo & nuevo
Workbooks.Open rutafb & archi
' fila = Workbooks(nuevo).Sheets(1).Range("a65000").End(xlUp).Row + 1
    Sheets("Formulario_Familia").Range("a3:c3, e3:f3, h3:gp3").Copy
    nombre = Workbooks(archi).Worksheets("Formulario_Familia").Range("a3").Value
    Application.DisplayAlerts = False
    ActiveWorkbook.Close
    Application.DisplayAlerts = True
Workbooks(nuevo).Activate
    Sheets(1).Cells(1, 3).Select
    ActiveSheet.Paste
    'Destination = Workbooks(1).Sheets(1).Cells(1, 3)
    ActiveWorkbook.SaveAs rutafbnuevo & nombre
    ActiveWorkbook.Close
archi = Dir()
Loop
End Sub

saludos.dam

Si es lo que necesitas.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas