Buenos días grupo.
En una consulta anterior, resuelta perfectamente por Héctor,
preguntaba por la manera de buscar y extraer datos de libros de excel
cerrados donde la información a extraer estaba en las columnas b e i
de las hojas que componen cada libro. Tratamos de saber los consumos
telefónicos de las extensiones de una centralita, por lo que hay que
buscar en todos los libros guardados en un directorio, el nombre de la
hoja que coincida con la extensión (ejemplo: 27002).
Esto se hacía perfectamente con este código:
en un modulo de codigo 'normal' -> EN el libro "facturacion telef"
==Sub Busca_Suma_Extensiones(): Application.ScreenUpdating = False
Dim Ruta As String, Hoja As String, Libro As String, _
Condicion As String, Celda As Range, Prueba
Ruta = "c:\centralita\abril\"
With Worksheets("administrador")
For Each Celda In .Range(.Range("b2"), .Range("b65536").End(xlUp))
Libro = Dir(Ruta & "*.xls"): Hoja = Celda
Do While Libro <> "": Condicion = "'" & Ruta & "[" & Libro & "]"
& Hoja & "'!"
On Error Resume Next: Prueba = ExecuteExcel4Macro(Condicion &
"r1c1")
If Not IsError(Prueba) Then
Celda.Offset(, 2).Formula = "=sum(" & Condicion & "i:i)"
Celda.Offset(, 2) = Celda.Offset(, 2)
Exit Do
End If: Libro = Dir(): Loop: Next: End With
End Sub
Pero, a consecuencia del cambio de soft de la centralita, ahora resulta
que la forma de
presentar los datos ha cambiado. Antes eran varios libros con varias
hojas en cada uno de ellos, donde el nombre de la hoja se correspondía
con en nº de extensión (ejemplo: 27002). Ahora la nueva versión
sólo entrega un libro (ejemplo: 01_05_06.xls), con una sóla hoja:
Hoja1, donde en la columna B está el nº de extensión (antes también
estaba en el nombre de la hoja) y en la columna i el importe de lo
consumido (esto no ha variado).
¿Se puede modificar el código anterior para adecuarlo a este nuevo
procedimiento?
Saludos y gracias.
Paco.
Leer las respuestas