consolidar

13/05/2004 - 01:26 por o.q. | Informe spam
Hola

A ver.tengo un archivo de excel con unas cifras por meses de
ingresos, luego tengo otro archivo con cifras por meses de otra oficina
distinta. Quiero hacer una "consolidacion", es decir "juntar" ambos
resultados en una sola hoja , sumándome los resultados de cada mes y de cada
delegacion.

Si voy a "consolidacion" de digo que quiero "suma", en "referencia" de doy
al boton examinar para añadir mi primer archivo de la primera delegacion,
pero no me deja, me dice que la referencia de consolidacion no es válida.

Si lo hago "pegando" en una hoja nueva los datos de las delegaciones que
están en diferentes hojas de cálculo, le doy a consolidar en en "referencia"
pongo TODO el rango de las delegaciones y SI , me consolida añadiendome los
datos de una delegacion en otra.

Pero eso no quiero, quiero "coger" los archivos y consolidarlos en una nueva
hoja.


saludos
 

Leer las respuestas

#1 Fernando Arroyo
13/05/2004 - 10:14 | Informe spam
Yo alguna vez he usado un código similar al que va después, que se encarga de sumar en la hoja "Consolidación" de un libro los rangos que se le digan de la hoja "Hoja1" de todos los libros que cumplan determinado patrón en un directorio:


Sub Consolidar()
Dim fsB As FileSearch
Dim rngRaC As Range
Dim rngC As Range

Dim n As Long, strFórmula As String, strNombreDeLaHoja As String, lngCalculation As Long

Set fsB = Application.FileSearch
Set rngRaC = Worksheets("Consolidación").Range("B2:B100,D2:D100,F2:F100") 'Rangos que se consolidarán

lngCalculation = Application.Calculation
Application.Calculation = xlCalculationManual

strNombreDeLaHoja = "Hoja1" 'Nombre de la hoja que se consolidará

With fsB
.NewSearch
.LookIn = "C:\Prueba\" 'Directorio en que se buscará
.SearchSubFolders = False 'Si se buscará en los subdirectorios
.Filename = "Libro*.xls" 'Patrón a buscar

If .Execute > 0 Then
For Each rngC In rngRaC
strFórmula = "="
For n = 1 To fsB.FoundFiles.Count
strFórmula = strFórmula & "+'" & Left(fsB.FoundFiles(n), InStrRev(fsB.FoundFiles(n), "\")) & "[" & Mid(fsB.FoundFiles(n), InStrRev(fsB.FoundFiles(n), "\") + 1) & "]" & strNombreDeLaHoja & "'" & "!" & Replace(rngC.Address, "$", "")
Next n
rngC.Formula = strFórmula
Next rngC
End If
End With

Application.Calculation = lngCalculation

Set rngC = Nothing
Set rngRaC = Nothing
Set fsB = Nothing
End Sub


Un saludo.


Fernando Arroyo
MS MVP - Excel


"o.q." escribió en el mensaje news:%
Hola

A ver.tengo un archivo de excel con unas cifras por meses de
ingresos, luego tengo otro archivo con cifras por meses de otra oficina
distinta. Quiero hacer una "consolidacion", es decir "juntar" ambos
resultados en una sola hoja , sumándome los resultados de cada mes y de cada
delegacion.

Si voy a "consolidacion" de digo que quiero "suma", en "referencia" de doy
al boton examinar para añadir mi primer archivo de la primera delegacion,
pero no me deja, me dice que la referencia de consolidacion no es válida.

Si lo hago "pegando" en una hoja nueva los datos de las delegaciones que
están en diferentes hojas de cálculo, le doy a consolidar en en "referencia"
pongo TODO el rango de las delegaciones y SI , me consolida añadiendome los
datos de una delegacion en otra.

Pero eso no quiero, quiero "coger" los archivos y consolidarlos en una nueva
hoja.


saludos




Preguntas similares