Buscar datos en otros libros

27/04/2006 - 12:54 por pacomar | Informe spam
Hola Grupo...

Estoy trabajando en una hoja donde se calculan gastos telefónicos. La
cuestión es que los datos de los consumos están repartidos en varios
libros con varias hojas en cada uno de ellos. El nombre de la hoja es
el mismo de la extensión telefónica y el nombre del libro (fichero
excel) es la fecha seguida de _x, siendo x un número que se incrementa
en una unidad.
La cuestión es: ¿cómo puedo acceder al rango de celdas (columna) de
cada una de las extensiones desde cada una de las celdas la hoja donde
se realizan los cálculos?

¿Sería posible que mientras no se pulsara un botón, supongo que con
una macro, no se actualizaran los datos?

Gracias de antemano.

Paco.

Preguntas similare

Leer las respuestas

#6 pacomar
30/04/2006 - 01:01 | Informe spam
Hola Hector... tranquilo que soy yo mucho más torpe para hacerme
entender.

1 a .- [A]: ID_#, [B]: Extension_#; [C]: Nombre_<formula>; [D]:
Importe_Dato a buscar, [E]: Importe + IVA
1 b .- El nombre del usuario , claro. Aparece al poner en la columna D
el nº de extensión.

2 .- Como te digo arriba, lo que devuelve es el nombre de usuario.

3 .- Exacto, en la columna A de la hoja "Usuarios telefonía" está el
nº de extensión. En la B está el nombre de usuario, en la C la fecha
de alta y en la D la fecha de baja.
4 .- Las hojas donde están los importes, son los libros que entrega la
centralita, con el formato ya comentado y que cada uno de ellos
contiene entre 8 y 10 hojas (dependiendo de las llamadas) y con el nº
de extensión por nombre de cada una. A los datos de estos libros es a
los que queremos aceder sin necesidad de abrirlos.
Lo del "no concuerda" es un error por mi parte a la hora de explicarme,
olvida ese párrafo.
5 .- Efectivamente hay una hoja por cada nº de extensión. Por eso
decía que no se repiten, por lo que no hay que hacer ningún filtrado.
La única pega es que como las hojas que se entregan en cada libro
varían en función de las llamadas, la extensión 205, por ejemplo,
unas veces viene en un libro y otras veces en otro.

¿Mejor ahora?

Gracias por tu paciencia.

Saludos..

Paco.
Respuesta Responder a este mensaje
#7 Héctor Miguel
30/04/2006 - 01:31 | Informe spam
hola, Paco !

Hola Hector... tranquilo que soy yo... para hacerme entender.



'tranquilo' ???
y yo... que consideraba a la paciancia como: 'mi mas grande virtud' [a veces] o mi mas grande 'defecto' [en otras] :DD

2.- ... lo que devuelve es el nombre de usuario...
5 .- Efectivamente hay una hoja por cada... extension... no se repiten... no hay que hacer ningun filtrado...
La unica pega es que como las hojas que se entregan en cada libro varian en funcion de las llamadas
la extension 205, por ejemplo, unas veces viene en un libro y otras veces en otro...



[entonces]... te hace falta 'contestar' [solo] la primera de las preguntas en el segundo mensaje...
-> 'de donde' [o como] se puede 'obtener' EL NOMBRE del libro...
que SI 'debera contener' la hoja_nombre de la extension buscada ???

-> [de lo contrario]...
si quieres que la macro 'se la pase buscando/averiguando'/... si la hoja existe [o no] en todos los libros posibles...
seria necesario utilizar una combinacion de tecnicas... y el codigo no te aseguro que sea... 'repidiin' :-(

comentas 'como' o de donde se obtiene -> el nombre del libro... 'apropiado' ?
saludos,
hector.
Respuesta Responder a este mensaje
#8 pacomar
30/04/2006 - 01:59 | Informe spam
Ya falta menos.

El grupo de libros que entrega la centralita es de momento de 24 en
este mes . Del 29_04_06_1 al 29_04_06_24 y están en el mismo
directorio: C:/Centralita/Abril .Como te decía antes, las hojas con
el nº de extensión unas veces están en uno y otras en otro, además
se supone que con el tiempo habrá más libros, por lo que habrá que
preparar una rutina que busque en todos los .xls del mismo
directorio...¿no?, así podré tener un directorio para cada mes del
año que sirva además de archivo, ¿no te parece?

Saludos...

Paco.
Respuesta Responder a este mensaje
#9 Héctor Miguel
30/04/2006 - 08:40 | Informe spam
hola, Paco !

Ya falta menos.
El grupo de libros que entrega la centralita es de momento de 24 en este mes.
Del 29_04_06_1 al 29_04_06_24 y estan en el mismo directorio: C:/Centralita/Abril.
Como te decia antes, las hojas con el no. de extension unas veces estan en uno y otras en otro
ademas se supone que con el tiempo habra mas libros
por lo que habra que preparar una rutina que busque en todos los .xls del mismo directorio...no?
asi podre tener un directorio para cada mes del a#o que sirva ademas de archivo, no te parece?



supongo que [y al final de cuentas]... los 'nombres' de los libros... -> YA NO 'importan' -?-
si [de todas formas] es necesario 'barrer' EN TODOS ellos para 'averiguar' si 'la hoja_extension' esta en alguno [o no] :))
-> asumiendo que el nombre de la hoja ES la extension que se encuentra en la columna 'B' [de la hoja 'administrador']...
yque necesitas 'totalizar' la columna 'I' ["i" latina] de dicha hoja_extension -> en la columna 'D' [de la hoja 'administrador']...
y que todos los libros estan en el mismo directorio...
-> prueba con una macro +/- como la siguiente:

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.

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
Respuesta Responder a este mensaje
#10 pacomar
09/05/2006 - 19:14 | Informe spam
Hola Héctor...

Perdona la tardanza en contestar, pero he estado ausente unos cuantos
días. En este tiempo han pasado cosas, te cuento: nos han cambiado la
versión del software de la centralita y 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: 34001). Pues bien, 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
estaba en el nombre de la hoja) y en la columna i el importe de lo
consumido (esto no ha variado).

La cuestión es que parte de lo que habiamos preparado, se ha ido al
garete.

Podemos retomar el tema y ver la forma de arreglarlo?

Gracias.
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida