Jump to content

Idea para conciliar dos archivos


Recommended Posts

Buenas a todos

Les consulto lo siguiente:

Tengo dos archivos en los cuales concilio los movimientos de uno en el otro:

Ejemplo: ambos archivos tienen las mismas columnas: Fecha, numero e importe.

Lo que hago es lo siguiente:

igualo en variables cada uno de los campos del primer archivo (Fecha, numero, importe) y recorro con la propiedad offset en el segundo archivo buscando las mismas coincidencias (Fecha, numero, importe).

Cuando termino de recorrer el segundo archivo voy al primero y continuo con la siguiente fila de datos y asi sucesivamente.

En si, me funciona pero si los archivos son bastantes extensos, el proceso se demora.

A alguien se le ocurre alguna otra idea o ha hecho algo similar o hay alguna otra propiedad que quede mas funcional.

Agradezco desde ya sus colaboraciones

Saludos cordiales !

Link to comment
Share on other sites

Lo que hago es lo siguiente:

igualo en variables cada uno de los campos del primer archivo (Fecha, numero, importe) y recorro con la propiedad offset en el segundo archivo buscando las mismas coincidencias (Fecha, numero, importe).

Cuando termino de recorrer el segundo archivo voy al primero y continuo con la siguiente fila de datos y asi sucesivamente.

Concuerdo contigo... demasiado lento la forma de operar de la macro. Tenemos 3 campos en file1 y los mismos 3 campos en file2 pero vas uno por uno... recorriendo filas y columnas...

Se me ocurre que en una columna aparte podria concatenar la fecha, numero e importe en file1 y hacer lo mismo en file2, con esto solo tendria que recorrer fila tras fila hasta encontrar la coincidencia, reduciendo asi el tiempo de procesamiento.

Suerte, bye

Link to comment
Share on other sites

Hola Leonardo

Supongo usas un bucle tipo For i = 1 to ultimafila?... pero que obtienes de buscar y comparar tus datos entre libros? es decir que operas?

Tambien puedo sugerirte algo similar a la opcion de digitalboy pero con algo como CONTARSI concatenando en una columna auxiliar en los dos libros la fecha&numero&importe, no se a lo mejor nos perdemos porque no sabemos realmente cual es el objetivo!

Saludos

Link to comment
Share on other sites

Guest Cacho R

Hola! Leo (digital y Gerson).

¿A qué le llamas "archivos bastante extensos"?...

Y la segunda re-pregunta es: en las conciliaciones se trata de distinguir los datos coincidentes de los que no lo son: ¿Tienes -cómo bien acota Gerson- algún otro objetivo?...

Saludos, Cacho R.

Link to comment
Share on other sites

Buenas Digitalboy / Gerson / Cacho R !!

Antes que nada muchas gracias por sus tiempos !

Les cuento que no subi el archivo ya que la idea todavia esta en el papel.

Les aclaro lo siguiente:

Se trata de conciliar dos estados de cuentas (cliente y proveedor) con los campos que le comente, ambos informes tendrian que coincidir pero hay veces que en un informe un registro esta contabilizado en un fecha y en el otro con otra distinta pero coniciden en el resto de los campos (numero e importe).

Si bien la idea de concatenar se me ocurrio no me serviria 100% ya que quiero indicarle que en el campo del 1er informe fecha busque "x" dias para arriba y "x" dias para abajo de la fecha del primer informe.

Inicialmente se me ocurrio lo siguiente:

Estando en el primer informe voy a la primer celda con datos y ahi hago un: do while activecell <> empty, igualo en variables la fecha, numero e importe de esa fila.

Luego voy al segundo informe a la primer celda con datos y hago lo siguiente:

do while activecell <> empty

If activecell = primer_variable then

If activecell.offset(0,1) = segunda_variable then

If activecell.offset(0,2) = tercer_variable then

si se cumplen estas tres condiciones les hago una marca a la fila y salgo del bucle para volver al 1er informe y continuar la busqueda

end if

end if

end if

si no encontro nada sigo buscando una fila mas abajo y asi sucesivamente hasta que llegue al final del 2do listado

activecell.offset(1,0).activate

loop

y despues vuelvo al 1er listado, bajo una fila y continuo con la busqueda como indique arriba.

Le comentaba que la fecha podria ser variable por lo que cuando toma la fecha , por ej: 15/05 en el primer informe en el segundo pueda dar por valida 2 dias para arriba y 2 para abajo, o sea 17/05 y 13/05, por eso la idea de concatenar no me serviria del todo.

El codigo no esta nada completo como veran, es solo una muestra de la idea...

El objetivo del mismo es identificar rapidamente que esten contabilizados todos los movimientos y de forma correcta en ambos listados y que los mismos coincidan.

La extension de los archivos es de casi 500 registros (filas) en cada informe por lo que la forma que lo planteo se me hace bastante lenta la ejecucion.

Link to comment
Share on other sites

Guest Cacho R

Por lo que has descrito, Leonardo: ¿Es correcto afirmar que el campo 'Fecha' no tiene la menor relevancia?...

¡Es más!... No sé que significado administrativo tiene el campo 'Número'. Pero si es un número de operación (que por lo tanto es único): ¿Es correcto afirmar que tampoco el campo importe tiene relevancia?...

En otras palabras: ¿Podría darse que tengas asociado a un número de operación (si es que es un número de operación, claro está) un desglose del importe?. En tal caso: ¿De qué lado está el importe total y de que lado están los importes desglosados?...

Un comentario más:

¿Te has dado cuenta que si hubieses subido -desde un inicio- tu archivo de muestra, ninguna de estas re-preguntas serías necesarias pues estarían respondidas en el propio archivo de muestra?...

Mmmmm.. ¡¡¡ Diría que ya es hora que lo subas al Foro !!!, y aprovecha a mostrar cual es el resultado que esperas obtener.

Link to comment
Share on other sites

Buenas Cacho R

Ok a tu indicacion del archivo, pero como comentaba, no tenia nada armado todavia ya que estaba esperando si de esta forma me podian orientar.

Hacemos lo siguiente, creo uno a partir de la idea que tengo y lo subo !

Gracias por la ayuda !!

Saludos

Link to comment
Share on other sites

Por lo que has descrito, Leonardo: ¿Es correcto afirmar que el campo 'Fecha' no tiene la menor relevancia?...

¡Es más!... No sé que significado administrativo tiene el campo 'Número'. Pero si es un número de operación (que por lo tanto es único): ¿Es correcto afirmar que tampoco el campo importe tiene relevancia?...

En otras palabras: ¿Podría darse que tengas asociado a un número de operación (si es que es un número de operación, claro está) un desglose del importe?. En tal caso: ¿De qué lado está el importe total y de que lado están los importes desglosados?...

Un comentario más:

¿Te has dado cuenta que si hubieses subido -desde un inicio- tu archivo de muestra, ninguna de estas re-preguntas serías necesarias pues estarían respondidas en el propio archivo de muestra?...

Mmmmm.. ¡¡¡ Diría que ya es hora que lo subas al Foro !!!, y aprovecha a mostrar cual es el resultado que esperas obtener.

Cacho! tu tambien escribes mucho jaja (en resumen es sube un archivo), Excel no necesita papel para operar

Saludos

Link to comment
Share on other sites

Guest Cacho R

Además de subir un archivo, Leo, ten la precaución de no omitir mostrar -en ese archivo- ninguno de los puntos que te he mencionado como importantes.

Precisamente te los he puntualizado para que no subas un archivo "pelado" con -tan sólo- un par de datos poco relevantes.

Link to comment
Share on other sites

Buenas nuevamente !

De acuerdo a sus instrucciones y normas del foro les paso el archivo ...

Cacho R

Con respecto a tus puntualizaciones:

Campo FECHA, quiero controlarlo para evitar que la registracion no sea diferente a un mes determinado, ej, para la liquidacion de impuestos.

Campo IMPORTE, tambien es importante ya que la idea es comprobar que un NUMERO de comprobante (que es único) esta en ambos informes de igual (o casi) forma.

De todas formas en el archivo se explica mejor la idea.

Como siempre cualquier orientacion al respecto sera bienvenida.

Saludos

Sistema.xls

Link to comment
Share on other sites

Guest Cacho R

Veamos un par de temas que -aún- están un poco "sucios" conceptualmente hablando:

1º) Hablabas de conciliar 3 columnas y vemos que muestras 4... ¿Tendrás alguna otra "sorpresa" -en este sentido- en tu información real?

No necesito decirte que las macros y/o fórmulas se "complican" si las columnas no están donde uno supone que deben estar, ¿No? (jejeje)

2º) Fíjate que indicas:

Campo FECHA, quiero controlarlo para evitar que la registracion no sea diferente a un mes determinado, ej, para la liquidacion de impuestos.

No entendí que quisiste decir... Sin embargo, y a los efectos de la conciliación, sólo interesa que aún cuando las fechas puedan diferir en 1, 2 ó 3 días, el resto de los campos deberán ser iguales: ¿Estamos de acuerdo en esto?...

3º) Lo que sigue es lo menos "claro":

Campo IMPORTE, tambien es importante ya que la idea es comprobar que un NUMERO de comprobante (que es único) esta en ambos informes de igual (o casi) forma.

La pregunta es: Si el Nº de comprobante es único, entonces, ¿Por qué está repetido el Nº 5000 (celdas D18 y D20)?

Además: ¿En que estás pensando cuando afirmas "en (casi) igual forma"? (pon un ejemplo de esto, por favor).

Saludos, Cacho R.

Link to comment
Share on other sites

Buenas Cacho R

Gracias por tu tiempo nuevamente.

Respondo tus dudas:

1) cierto que comente que eran 3 campos pero decidi incluir un 4to para un mayor control, NO hay mas campo que estos!

2) campo FECHA, me referia a que controlando 100% la exactitud de la fecha me aseguro que por ejemplo no haya un error de tipeo y quede en el informe 1 la fecha 10/05/2012 y en el otro 10/06/2012. Tambien como veras deje modificable la exactitud para que el usuario pueda "jugar" con los dias.

3) totalmente de acuerdo que el campo NUMERO es unico, eso fue una prueba que hice para ver que no me marcara ambos registros del informe 1 si en el informe 2 habia uno solo.

Cuando me refiero a casi igual (en el monto) es porque a veces puede surgir una pequeña diferencia que no es relevante:

Informe 1: monto: 100,01 - informe 2: monto 100,00 en este caso quiero darlo por valido.

Muchas gracias

Saludos !

Link to comment
Share on other sites

Guest Cacho R

Hola! Leo.

Te dejo una forma de conciliar la información.

He mantenido el cuadro de "tolerancias" para los cuatro campos involucrados, pero he modificado -un tanto- el procedimiento.

¿Te puede ser de utilidad?...

Saludos, Cacho R.

Sistema_1.xls

Link to comment
Share on other sites

Cacho R

Primeramente, muchas gracias por tu tiempo, es muy valorable la dedicacion que se ve le has invertido !!

La verdad que el trabajo esta excelente y me parecio muy buena la idea de como queda el informe final, separados los conciliados de los no conciliados.

Como veras y de acuerdo al codigo que te envie, se me va hacer un poco complicado entender el tuyo, jeje, de todas formas lo vamos a estudiar para sacar el mayor provecho posible.

Nuevamente gracias y un saludo cordial !!

Link to comment
Share on other sites

Guest Cacho R

¡No te compliques la vida!... (jajajaja)

Simplemente: carga los datos en las dos tablas y deja que la macro se ocupe.

Te sugiero que vayas variando los valores de las cuatro toleracias que intervienen hasta encontrar márgenes que te sean de utilidad.

Saludos ,Cacho R.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

Privacy Policy