Macro que modifica el formato de un archivo no graba cambios
publicado
Hola, Decidí automatizar los cambios que regularmente le debo hacer a unos archivos xls que manejan algunos usuarios, cambios como actualización de formulas y corrección del formatos, tengo inconveniente con los formatos, cree una Macro que se basa en un archivo que contiene un formato especial (estilos de letra, formato de celdas, colores, lineas...etc) para formatear los otros archivos que los usuarios desordenan.
Esta ejecuta bien, no muestra errores, al terminar graba el archivo que ha sido formateado y muestra el resultado, el cual es perfecto!!, cierro el archivo y al abrirlo de nuevo, no aparece ningún cambio, como si no tomara tooodos los cambios realizados por la macro!!! grabándolo por código, o manualmente el resultado es el mismo.
agradezco su valiosa ayuda
A grandes rasgos este es el método que cree, estando en el archivo que quiero formatear, la macro verifica el archivo de formato, lo abre y empieza a copiar el formato de cada una de las hojas al archivo sin formato, luego de pasar por cada hoja, cierra el archivo de formato selecciona el archivo formateado, y lo graba. pero como les cuento no quedan grabados en realidad
<
destino = ActiveWorkbook.Name
origen = "NewDat.xls"
If UCase(origen) = UCase(destino) Then
a = MsgBox(origen + " es el archivo del Formato original, No debe modificarse, Debe seleccionar archivo DAT", vbOKOnly, "Generaciòn de Comites")
Procesando.Hide
Exit Sub
End If
For j = 1 To Workbooks.Count
If UCase(origen) = UCase(Workbooks.Item(j).Name) Then
Hola, Decidí automatizar los cambios que regularmente le debo hacer a unos archivos xls que manejan algunos usuarios, cambios como actualización de formulas y corrección del formatos, tengo inconveniente con los formatos, cree una Macro que se basa en un archivo que contiene un formato especial (estilos de letra, formato de celdas, colores, lineas...etc) para formatear los otros archivos que los usuarios desordenan.
Esta ejecuta bien, no muestra errores, al terminar graba el archivo que ha sido formateado y muestra el resultado, el cual es perfecto!!, cierro el archivo y al abrirlo de nuevo, no aparece ningún cambio, como si no tomara tooodos los cambios realizados por la macro!!! grabándolo por código, o manualmente el resultado es el mismo.
agradezco su valiosa ayuda
A grandes rasgos este es el método que cree, estando en el archivo que quiero formatear, la macro verifica el archivo de formato, lo abre y empieza a copiar el formato de cada una de las hojas al archivo sin formato, luego de pasar por cada hoja, cierra el archivo de formato selecciona el archivo formateado, y lo graba. pero como les cuento no quedan grabados en realidad
<
destino = ActiveWorkbook.Name
origen = "NewDat.xls"
If UCase(origen) = UCase(destino) Then
a = MsgBox(origen + " es el archivo del Formato original, No debe modificarse, Debe seleccionar archivo DAT", vbOKOnly, "Generaciòn de Comites")
Procesando.Hide
Exit Sub
End If
For j = 1 To Workbooks.Count
If UCase(origen) = UCase(Workbooks.Item(j).Name) Then
abierto = "si"
ruta = ""
j = Workbooks.Count
End If
Next j
If abierto = "no" Then
Workbooks.Open Filename:="D:\Documentos\Comites\NewDat.xls"
End If
'- FORMATEA HOJA TRANSITO ----------------------------------------
Windows(origen).Activate
Sheets("Transito").Select
Procesando.Label3.Caption = "Actualizando hoja " + ActiveSheet.Name
Procesando.Repaint
Range("B1:AC34").Select
Selection.Copy
Windows(destino).Activate
Sheets("Transito").Select
Range("B1:AC34").Select
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
Windows(origen).Activate
Sheets("Transito").Select
Range("AD1:AG34").Select
Selection.Copy
Windows(destino).Activate
Sheets("Transito").Select
Range("AD1:AG34").Select
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
Windows(origen).Activate
Sheets("Transito").Select
Range("AH1:BE34").Select
Selection.Copy
Windows(destino).Activate
Sheets("Transito").Select
Range("AH1:BE34").Select
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
Windows(origen).Activate
Sheets("Transito").Select
Range("BF1:CG34").Select
Selection.Copy
Windows(destino).Activate
Sheets("Transito").Select
Range("BF1:CG34").Select
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
'- FINAL ----------------------------------------
Windows(destino).Activate
ActiveWorkbook.Save
Sheets("Grupos").Select
Range("A1").Select
Windows(origen).Activate
Workbooks(origen).Close SaveChanges:=False
Procesando.Progreso.Width = (100 * 186) / 100
Procesando.Repaint
Procesando.Hide
End Sub
>