Interactuar con varios xls

16/03/2005 - 05:20 por SG Web Design - Sergio Gattelet | Informe spam
Hola Grupo,
gracias de antemano

Necesito interactuar con varias planillas de calculo que contienen listas de
precios de piezas del automovil. La idea es de poder realizar una busqueda
por un campo determinado y que realice la busqueda en cada uno de los .xls y
me muestre el listado correspondiente.

Suponiendo que todas las planillas contengan los mismos nombres de campos
(columnas), ya que de no ser asi se las cambiariamos manualmente para que
coincidieran en la busqueda. Para mas datos estas listas (.xls) son
provistas por cada uno de los proveedores del local de venta de respuestos
automotrices y la idea es automatizar el proceso ya que se pierde demasiado
tiempo en buscar manualmente en cada uno de ellos un articulo determinado.

Espero sus respuestas.
Gracias nuevamente.
Sergio Gattelet

Preguntas similare

Leer las respuestas

#16 KL
21/03/2005 - 13:45 | Informe spam
Sergio,

De los mensajes anteriores no te habia entendido eso. Si quieres pasar la
referencia a la celda "porcentaje", podrias hacer esto:

.Range(.Cells(2, Col), .Cells(uFila, Col)). _
FormulaR1C1 = "=" & .Range("porcentaje").Address(True, True,
xlR1C1) _
& "*RC[1]+RC[1]"

Saludos,
KL


"SG Web Design - Sergio Gattelet" wrote in message
news:
Hola KL,

Bueno, lo intente poniendole un nombre a la celda pero de todos modos me
tira la siguiente formula %*D2+D2
el valor funciona perfectamente pero de este modo no puedo actualizar el
precio si modifico la celda con el porcentaje. Te comento que lo habia
intentado anteriormente con la formula debajo y me mostraba el precio
incrementado en el porcentaje, arrojandome tambien la formula %*D2+D2

.Range(.Cells(2, Col), .Cells(Ufila, Col)).FormulaR1C1 = .Cells(1,
colPorcentaje).FormulaR1C1 & "*RC[1]+RC[1]"

Te paso la formula con el nombre
.Range(.Cells(2, Col), .Cells(Ufila, Col)). _
FormulaR1C1 = .Range("porcentaje").FormulaR1C1 & "*RC[1]+RC[1]"

donde .Range("porcentaje").FormulaR1C1 = " %"

espero tus noticias, saludos.
Sergio

"KL" escribió en el mensaje
news:
Hola Sergio,

Es normal. El valor de la celda .Cells(1, 8) se desplaza a la derecha al
introducirse una columna en mi codigo anterior y se convierte en
.Cells(1,9). Por lo tanto tu formula q insiste en coger el valor de
.Cells(1, 8) resulta erronea.

Prueba darle nembre a la celda que contiene el porcentaje, digamos
MiPctje


y
luego hacer esto:

.Range(.Cells(2, Col), .Cells(Ufila, Col)).FormulaR1C1 >> Range("MiPctje").FormulaR1C1 & "*RC[1]+RC[1]"

o tambien puedes poner la celda en otra hoja y referirte a ella de una


forma
normal, y finalmente puedes modficar tu formula actual de tal manera q
anticipe el movimiento de columnas:

.Range(.Cells(2, Col), .Cells(Ufila, Col)).FormulaR1C1 >> .Cells(1,9).FormulaR1C1 & "*RC[1]+RC[1]"

Saludos,
KL



Saludos,
KL

"SG Web Design - Sergio Gattelet" wrote in message
news:
> Hola nuevamente, he regresado con otra inquietud y estoy seguro de que
> podran contestarla:
>
> el siguiente codigo que es para obtener un porcentaje del valor
> contiguo


a
> la celda.
> .Range(.Cells(2, Col), .Cells(Ufila, Col)).FormulaR1C1 >> > "%*RC[1]+RC[1]"
>
> lo cual he intentado cambiarlo para que tome el porcentaje de una celda


en
> particular mediante:
> .Range(.Cells(2, Col), .Cells(Ufila, Col)).FormulaR1C1 = .Cells(1,
> 8).FormulaR1C1 & "*RC[1]+RC[1]"
>
> Ahora lo que intente realizar pero no he podido fue cambiar la formula
> anterior para que en lugar de que me entregue el valor de la celda como
> dato
> (ej: " %") me entregue una referencia a la celda. Esto mejoraria el
> proyecto ya que el usuario tendria la posibilidad de cambiar el


porcentaje
> del listado con solo modificar una celda.
>
> Espero alguna respuesta al respecto. Saludos.
>
> "SG Web Design - Sergio Gattelet" escribió en el
> mensaje
> news:
>> Hola KL,
>>
>> 1. La cantidad de ficheros puede variar, es mas creo que los


proveedores
>> para estos negocios de respuestos automotrices es muy variada. Es de
> suponer
>> que cada xls (planilla) sea de un proveedor en particular y su
>> composicion
>> depende exclusivamente de ellos, es decir no le podemos solicitar que


nos
>> mande una planilla diseñada como nosotros las necesitamos, eso seria
>> imposible. Por eso la idea de poder realizar un servicio de


mantenimiento
>> mensual justamente para que las nuevas listas de precios antes de ser
>> indexada por este proyecto, la adaptemos a nuestras necesidades.
>>
>> 2. No lo se, pero creeria que seria una sola. De no ser asi la
> adapatariamos
>> manualmente.
>>
>> 3. Es posible consolidar las planillas en una sola, haciendolo
>> manualmente
>> pero no seria lo mas conveniente ya que seria mas limpio manejarlas
>> por
>> separado.
>>
>> Estube pensando como desarrollarlo sin conocer el VBA ya que hace mas


de
>> 6
>> años que no toco nada de codigo de este tipo de aplicaciones. Pero


quiero
>> decirte que manejaba bastante bien VB, solo que me he olvidado por


falta
> de
>> practica. Bueno la idea seria:
>>
>> Crear un xls con 3 hojas,
>> . hoja 1 tendria un formulario de consulta que lo resolveremos a lo
> ultimo.
>> . hoja 2 tendra un boton escondido referido por el nombre que se le
> pondra.
>> La funcion de este boton es de leer los xls de un directorio
>> especifico
>> (todos estos previamente adaptados) e indexarlos en la misma hoja. Al
>> finalizar este proceso grabar un reporte en la hoja 3.
>> . hoja 3 es un reporte que agregara una fila en la posicion "Fila 2"
>> (para
>> mantener siempre el ultimo reporte arriba) con los siguientes datos:
> fecha -
>> tiempo del proceso de indexacion de listados - cantidad de registros.
>>
>> Sin conocer como procesar todo esto, no creo que sea necesario
>> trabajar
> con
>> ADO o DAO como me habias solicitado anteriormente.
>> Lo primero que deberiamos pensar seria en la adaptacion de cada xls es
> decir
>> mantener los siguientes parametros:
>> Creo que la manera mas apropiada seria adaptar cada xls respetando la
> misma
>> columna para el mismo campo. Es decir que el codigo de articulo lo
>> ubicaremos en la columna "B"; la descripcion en la columna "C"; el


precio
> en
>> la columna "D", estos son unicamente los campos que nos interesa. Lo
> segundo
>> a considerar es de unificar el listado del proveedor a que solo


contenga
> una
>> sola hoja (la primera). Tambien no podemos descartar que las planillas


no
>> tengan titulos, los cuales eliminaremos manualmente o bien por medio
>> de
>> codigo corroborando que el registro al indexarse este completo, es


decir
>> tenga su codigo - descripcion y precio, de lo contrario que no lo


indexe.
>>
>> Dato adicional:
>> Al indexar todas las planillas habria que conformar un codigo de
> proveedor,
>> este estara ubicado en la primer columna "A" y estara conformada por
>> el
>> siguiente rango "001 ... 999", es decir la primer planilla seria


001.xls
> que
>> corresponderia a "pepe". Las correspondencias entre el nombre del
> proveedor
>> y el nombre de planilla seria llevada en un txt de manera privada.
>>
>> Esto es lo que se me ocurre, contame como lo ves vos.
>> Espero tus comentarios.
>>
>> Sergio
>>
>>
>>
>>
>> "KL" escribió en el mensaje
>> news:
>> > Hola Sergio,
>> >
>> > Mas preguntas:
>> >
>> > 1) ?Cuantos ficheros (planillas) habra en total?
>> > 2) ?Cuantas hojas de cada una de las planillas llevaran los datos q


se
>> deben
>> > evaluar? O solo es la primera hoja en todas?
>> > 3) ?Desde el punto de vista del procedimiento normal de trabajo
>> (workflow),
>> > es posible consolidar todas las planillas en una sola copiando las
>> > hojas
>> > enteras, o se tiene q te trabajar con varios ficheros
>> > necesariamente?
>> > Si
>> se
>> > pudiera consolidar las planillas, las macros (o incluso formulas)
>> > serian
>> > mucho mas simples.
>> >
>> > Saludos,
>> > KL
>> >
>> >
>> > "SG Web Design - Sergio Gattelet" wrote in
>> > message
>> > news:%
>> > > Gracias por la rapidez ...
>> > >
>> > > 1. Al decir planillas me refiero a cada xls (decime si estoy en lo
>> > > correcto), estos estaran ubicados en un directorio particular y
> entonces
>> > > se
>> > > tendra que hacer una lectura de los xls dentro de ese directorio


para
>> > > luego
>> > > poder hacer la consulta en conjunto.
>> > >
>> > > 2. La idea es que los ids de los articulos por cada planilla sean
>> unicos,
>> > > aun no cuento con esa informacion, pero suponiendo que vienen de
>> > > diferentes
>> > > proveedores ;) de todos modos se debera generar un codigo unico
>> conformado
>> > > por un id de proveedor + el id del articulo para resolver este
>> > > posible
>> > > inconveniente.
>> > >
>> > > 3. Si, seguramente pero cada uno de ellos tendra un codigo


diferente.
>> > >
>> > > Sergio
>> > >
>> > > "KL" escribió en el mensaje
>> > > news:
>> > >> Hola de nuevo,
>> > >>
>> > >> Un par de preguntas:
>> > >>
>> > >> 1) Cuando hablas de "planillas" a que te refieres exactamente? A
> hojas
>> o
>> > >> ficheros (libros)?
>> > >>
>> > >> 2) Los IDs de los articulos supongo que son unicos. ?Puede haber


mas
> de
>> > >> un
>> > >> articulos repetidos (con el mismo ID) en una planilla?
>> > >>
>> > >> 3) ?Puede haber mas de un articulos repetidos en diferentes
> planillas?
>> > >>
>> > >> Saludos,
>> > >> KL
>> > >>
>> > >> "SG Web Design - Sergio Gattelet" wrote in
>> > >> message
>> > >> news:%23VniO$
>> > >> > Hola KL,
>> > >> >
>> > >> > No dispongo aun las listas de precios, pero para que tengas una
> idea
>> > >> > cuentan
>> > >> > con por lo menos 3 campos: id - descripcion - precio . Estos
>> > >> > son
> los
>> > >> > campos
>> > >> > con los que voy a trabajar en cada una de los xls. Como decia
>> > >> > al
>> > > principio
>> > >> > el primer paso seria adaptar cada planilla, renombrando estos 3
>> campos
>> > >> > para
>> > >> > que los nombres de los mismos en las distintas planillas


coincidan
> y
>> > >> > entonces que la busqueda por estos se correspondan y asi
>> > >> > obtener
>> > >> > un
>> > >> > listado
>> > >> > gral, resultado de la seleccion que se realizo.
>> > >> >
>> > >> > Este resultado seria mostrar un listado con los mismos 3
>> > >> > campos,
>> > >> > simplemente. Con este listado se podra decidir cual de los
> elementos
>> es
>> > > el
>> > >> > mas conveniente de acuerdo al precio.
>> > >> >
>> > >> > Un caso de ejemplo es poder buscar por el campo "descripcion"
>> > >> > la
>> > >> > palabra
>> > >> > "volante" y obtener como resultado todos los articulos de las
>> distintas
>> > >> > planillas que contengan esa descripcion. O bien introducir un
> codigo
>> > >> > especifico de un articulo y obtener solo ese articulo con la
>> > >> > descripcion
>> > > y
>> > >> > el precio.
>> > >> >
>> > >> > Espero te sirva esta info y aguardo tu respuesta. Saludos.
>> > >> > Sergio
>> > >> >
>> > >> > "KL" escribió en el
>> > >> > mensaje
>> > >> > news:
>> > >> >> Hola Sergio,
>> > >> >>
>> > >> >> A fin de que podamos ofrecerte una solucion concreta, tendras
>> > >> >> q
>> > > explicar
>> > >> > con
>> > >> >> mas detalle la estructura y otras caracteristicas (tambin como


no
>> una
>> > >> >> muestra de los datos reales) de las bases de datos que manejas
>> > >> >> asi
>> > >> >> como
>> > >> >> el
>> > >> >> resultado deseado.
>> > >> >>
>> > >> >> Saludos,
>> > >> >> KL
>> > >> >>
>> > >> >> "SG Web Design - Sergio Gattelet" wrote in
>> message
>> > >> >> news:
>> > >> >> > Hola Grupo,
>> > >> >> > gracias de antemano
>> > >> >> >
>> > >> >> > Necesito interactuar con varias planillas de calculo que
> contienen
>> > >> > listas
>> > >> >> > de
>> > >> >> > precios de piezas del automovil. La idea es de poder
>> > >> >> > realizar
> una
>> > >> > busqueda
>> > >> >> > por un campo determinado y que realice la busqueda en cada


uno
> de
>> > >> >> > los
>> > >> > .xls
>> > >> >> > y
>> > >> >> > me muestre el listado correspondiente.
>> > >> >> >
>> > >> >> > Suponiendo que todas las planillas contengan los mismos


nombres
> de
>> > >> > campos
>> > >> >> > (columnas), ya que de no ser asi se las cambiariamos
>> > >> >> > manualmente
>> > >> >> > para
>> > >> > que
>> > >> >> > coincidieran en la busqueda. Para mas datos estas listas


(.xls)
>> son
>> > >> >> > provistas por cada uno de los proveedores del local de venta


de
>> > >> > respuestos
>> > >> >> > automotrices y la idea es automatizar el proceso ya que se
> pierde
>> > >> >> > demasiado
>> > >> >> > tiempo en buscar manualmente en cada uno de ellos un
>> > >> >> > articulo
>> > >> > determinado.
>> > >> >> >
>> > >> >> > Espero sus respuestas.
>> > >> >> > Gracias nuevamente.
>> > >> >> > Sergio Gattelet
>> > >> >> >
>> > >> >> >
>> > >> >> >
>> > >> >> >
>> > >> >>
>> > >> >>
>> > >> >
>> > >> >
>> > >>
>> > >>
>> > >
>> > >
>> >
>> >
>>
>>
>
>






email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida