Consolidación de archivos de Excel.

27/10/2007 - 06:57 por Cebreros | Informe spam
Hola a todos:
Quien podría ayudarme con lo siguiente: En Excel 2003 hago una consolidación
de todos mis archivos de Excel de determinada carpeta en otro archivo de
Excel y funciona de maravilla, pero ahora que aplico lo mismo en Excel 2007,
ya no funciona el código como debería. Les envío el código como lo tengo y
espero puedan ayudarme.
Gracias: Guillermo.
Sub ConsolidarSlds()
'
' ConsolidarSlds Macro
' Macro grabada el 08/09/2002 por Guillermo Cebreros Sierra
'
' Acceso directo: CTRL+t
'
Dim miSaldo As Excel.Application

On Error Resume Next
With miSaldo
Dim miHoja As Worksheet
Set miHoja = Worksheets.Add
ChDir "C:\Cebreros\ExpeDiente\Estados de Cuenta"
Application.DisplayAlerts = False
On Error Resume Next
Worksheets("Consolidar Saldos").Delete
miHoja.Name = "Consolidar Saldos"

Range("A1").Select
Selection.Consolidate Sources:="'[*.xls]Saldos'!R4C1:R10C2", Function:= _
xlSum, TopRow:=True, LeftColumn:=True, CreateLinks:=True
Columns("A:A").EntireColumn.AutoFit
Columns("B:B").EntireColumn.AutoFit
Range("A1").Select
ActiveCell.FormulaR1C1 = "Cuenta"
Range("B1").Select
ActiveCell.FormulaR1C1 = "Paciente"
Range("A1").Select
Selection.AutoFormat Format:=xlRangeAutoFormatList1, Number:=True,
Font:= _
True, Alignment:=True, Border:=True, Pattern:=True, Width:=True
End With

On Error Resume Next
With miSaldo
Dim miHoja2 As Worksheet
Set miHoja2 = Worksheets.Add
ChDir "\\Clínica\C\Cebreros\ExpeDiente\Estados de Cuenta"
Application.DisplayAlerts = False
On Error Resume Next
Worksheets("Consolidar Saldos").Delete
miHoja2.Name = "Consolidar Saldos"

Range("A1").Select
Selection.Consolidate Sources:="'[*.xls]Saldos'!R4C1:R10C2", Function:= _
xlSum, TopRow:=True, LeftColumn:=True, CreateLinks:=True
Columns("A:A").EntireColumn.AutoFit
Columns("B:B").EntireColumn.AutoFit
Range("A1").Select
ActiveCell.FormulaR1C1 = "Cuenta"
Range("B1").Select
ActiveCell.FormulaR1C1 = "Paciente"
Range("A1").Select
Selection.AutoFormat Format:=xlRangeAutoFormatList1, Number:=True,
Font:= _
True, Alignment:=True, Border:=True, Pattern:=True, Width:=True
End With
End Sub

Preguntas similare

Leer las respuestas

#6 Héctor Miguel
28/10/2007 - 19:30 | Informe spam
hola, Guillermo !

... ahora los libros a consolidar son... en la version 2007 Y habilitados para macros ".xlsm"
... utilizando el grabador de macros consolidando un archivo abierto y funciona perfectamente
... una vez que cierro el archivo consolidado, el grabador de macros tampoco logra consolidar dicho archivo...



(primero): dejame insistir en lo siguiente:
1) los errores de tipo "-2147xxxx" significan que el objeto/proveedor/... al que se esta llamando NO esta "disponible"
(...)
3) en tus pruebas (en 2007) no era posible "ver" la causa del error por el (ab)uso de instrucciones On Error Resume Next
OJO: aun ahora, (creo que) hay una instruccion para no mostrar las alertas: -> Application.DisplayAlerts = False -???-

4) por si las dudas... he corrido pruebas (en 2007) y el metodo sigue funcionando (como en las versiones anteriores)
=> SIN abrir los libros que se van a consolidar





(segundo): dentro de las -posibles- causas de que un objeto/proveedor/... NO este "disponible" (en concreto con tus codigos)...
-> haces unos cambios de directorio activo (ChDir)
a) a un directorio local: -> ChDir "C:\Cebreros\ExpeDiente\Estados de Cuenta"
b) a una carpeta en red > ChDir "\\Clínica\C\Cebreros\ExpeDiente\Estados de Cuenta"
-> que me dices de la carpeta en red ? (permisos/derechos, cambios de "mapeo", desconexion con el serrvidor, ???)

(tercero): considera que no es lo mismo, usar el grabador de macros, con los libros de origen abiertos... que cerrados -?-

(cuarto): es probable que las causas sean otras -?- pero con los detalles (des)conocidos hasta ahora (p.e.)
-> el cambio de excel 2003 al 2007, tambien implico algun cambio de pc/usuario/equipo/servidor/... -???-

comentas (si detectas) algun detalle mas... "descriptivo" ?
saludos,
hector.
Respuesta Responder a este mensaje
#7 Cebreros
29/10/2007 - 03:16 | Informe spam
Gracias Héctor, Ahora he entendido tu mensaje. déjame intentarlo y te comento
nuevamente.
Bye.
Guillermo

"Héctor Miguel" escribió:

hola, Guillermo !

> ... ahora los libros a consolidar son... en la version 2007 Y habilitados para macros ".xlsm"
> ... utilizando el grabador de macros consolidando un archivo abierto y funciona perfectamente
> ... una vez que cierro el archivo consolidado, el grabador de macros tampoco logra consolidar dicho archivo...

(primero): dejame insistir en lo siguiente:
>> 1) los errores de tipo "-2147xxxx" significan que el objeto/proveedor/... al que se esta llamando NO esta "disponible"
>> (...)
>> 3) en tus pruebas (en 2007) no era posible "ver" la causa del error por el (ab)uso de instrucciones On Error Resume Next
>> OJO: aun ahora, (creo que) hay una instruccion para no mostrar las alertas: -> Application.DisplayAlerts = False -???-
>>
>> 4) por si las dudas... he corrido pruebas (en 2007) y el metodo sigue funcionando (como en las versiones anteriores)
>> => SIN abrir los libros que se van a consolidar

(segundo): dentro de las -posibles- causas de que un objeto/proveedor/... NO este "disponible" (en concreto con tus codigos)...
-> haces unos cambios de directorio activo (ChDir)
a) a un directorio local: -> ChDir "C:\Cebreros\ExpeDiente\Estados de Cuenta"
b) a una carpeta en red > ChDir "\\Clínica\C\Cebreros\ExpeDiente\Estados de Cuenta"
-> que me dices de la carpeta en red ? (permisos/derechos, cambios de "mapeo", desconexion con el serrvidor, ???)

(tercero): considera que no es lo mismo, usar el grabador de macros, con los libros de origen abiertos... que cerrados -?-

(cuarto): es probable que las causas sean otras -?- pero con los detalles (des)conocidos hasta ahora (p.e.)
-> el cambio de excel 2003 al 2007, tambien implico algun cambio de pc/usuario/equipo/servidor/... -???-

comentas (si detectas) algun detalle mas... "descriptivo" ?
saludos,
hector.



Respuesta Responder a este mensaje
#8 Cebreros
01/11/2007 - 08:47 | Informe spam
Hola Héctor. Te comento hasta ahora, ya que estuve realizando pruebas con
respecto a tu último comentario y te menciono los resultados:
1.- Me ha ayudado mucho el retirar “On Error Resume Next”
2.- El retirar “Application.DisplayAlerts = False” también fue de gran
ayuda, ya que hizo darme cuenta que debería dejar el directorio
("C:\Cebreros\ExpeDiente\Estados de Cuenta") únicamente con los archivo a
consolidar.
3.- El código finalmente quedó de la siguiente manera:
Sub ConsolidarSlds()
Dim miSaldo As Excel.Application
With miSaldo
Dim miHoja As Worksheet
Set miHoja = Worksheets.Add
ChDir "C:\Cebreros\ExpeDiente\Estados de Cuenta"
Worksheets("Consolidar Saldos").Delete
miHoja.Name = "Consolidar Saldos"
Range("A1").Select
Selection.Consolidate Sources:="'[*.xlsm]Saldos'!R4C1:R10C2",


Function:= _
xlSum, TopRow:=True, LeftColumn:=True, CreateLinks:=True
Columns("A:A").EntireColumn.AutoFit
Columns("B:B").EntireColumn.AutoFit
Range("A1").Select
ActiveCell.FormulaR1C1 = "Cuenta"
Range("B1").Select
ActiveCell.FormulaR1C1 = "Paciente"
Range("A1").Select
Selection.AutoFormat Format:=xlRangeAutoFormatList1, Number:=True,


Font:= _
True, Alignment:=True, Border:=True, Pattern:=True, Width:=True
End With
End Sub


Los resultados desafortunadamente siguen siendo los mismos y realmente no
encuentro la causa. Al momento que cambio el nombre del archivo “[Cebreros
Sierra Guillermo.xlsm]Saldos' … por el de “[*.xlsm]Saldos'… , y cierro el/los
archivos a consolidar, aparece el error que ya te he mencionado.
Curiosamente también Excel queda completamente trabado o congelado y me veo
forzado a utilizar Ctrl+Alt+Supr.
Espero tus comentarios.
Saludos afectuosos.
Guillermo.
Respuesta Responder a este mensaje
#9 Héctor Miguel
01/11/2007 - 22:37 | Informe spam
hola, Guillermo !

... estuve realizando pruebas con respecto a tu ultimo comentario y te menciono los resultados:
1.- Me ha ayudado mucho el retirar "On Error Resume Next"
2.- El retirar "Application.DisplayAlerts = False" tambien fue de gran ayuda ya que hizo darme cuenta que
deberia dejar el directorio ("C:\Cebreros\ExpeDiente\Estados de Cuenta") unicamente con los archivo a consolidar.
3.- El codigo finalmente quedo de la siguiente manera: (...)
Los resultados desafortunadamente siguen siendo los mismos y realmente no encuentro la causa.
Al momento que cambio el nombre del archivo "[Cebreros Sierra Guillermo.xlsm]Saldos' " por el de "[*.xlsm]Saldos'"
y cierro el/los archivos a consolidar, aparece el error que ya te he mencionado.
Curiosamente tambien Excel queda completamente trabado o congelado y me veo forzado a utilizar Ctrl+Alt+Supr.



despues de haber (com)probado con codigos "frescos" y no obtener el comportamiento ni el error que mencionas...
solo me queda suponer que algun caracter de mas o de menos pudiera ser la causa en tu caso -?-

y/o que al tratarse de macros en excel... no le veo el sentido a declarar variables de automatizacion para comunicarse con excel -???-
prueba eliminando tres lineas en tu codigo (que ni siquiera estan siendo usadas y concretamente son) las que dicen:
- Dim miSaldo As Excel.Application
- With miSaldo
- End With

comentas (si te encuentras) algun detalle mas significativo ?
saludos,
hector.

__ el codigo expuesto __
> Sub ConsolidarSlds()
> Dim miSaldo As Excel.Application
> With miSaldo
> Dim miHoja As Worksheet
> Set miHoja = Worksheets.Add
> ChDir "C:\Cebreros\ExpeDiente\Estados de Cuenta"
> Worksheets("Consolidar Saldos").Delete
> miHoja.Name = "Consolidar Saldos"
> Range("A1").Select
> Selection.Consolidate Sources:="'[*.xlsm]Saldos'!R4C1:R10C2", Function:= _
xlSum, TopRow:=True, LeftColumn:=True, CreateLinks:=True
> Columns("A:A").EntireColumn.AutoFit
> Columns("B:B").EntireColumn.AutoFit
> Range("A1").Select
> ActiveCell.FormulaR1C1 = "Cuenta"
> Range("B1").Select
> ActiveCell.FormulaR1C1 = "Paciente"
> Range("A1").Select
> Selection.AutoFormat Format:=xlRangeAutoFormatList1, Number:=True, Font:= _
True, Alignment:=True, Border:=True, Pattern:=True, Width:=True
End With
End Sub
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida