............ Foro Excel
Si no lo has hecho aún: REGISTRATE!!!

Macro para Registrar Ventas por Cliente

Ver el tema anterior Ver el tema siguiente Ir abajo

Macro para Registrar Ventas por Cliente

Mensaje por shammsiel el Vie Sep 03, 2010 6:01 pm

Buen dia, gracias por su ayuda y tiempo de antemano. Tengo el siguiente codigo en una macro:

If Range("Notafaq!$c$3").Value = Range("datosdis!$a$2") Then
Range("datosdis!$E2").Value = Range("datosdis!$E2") + Range("Notafaq!$F32")
Range("datosdis!$F2").Value = Range("datosdis!$F2") + Range("Notafaq!$H35")


Range("datosdis!$H2") = Application.WorksheetFunction.VLookup("H1", Range("Notafaq!$c$6:$d$31"), 2, 0) + Range("datosdis!$H2")
Range("datosdis!$I2") = Application.WorksheetFunction.VLookup("H2", Range("Notafaq!$c$6:$d$31"), 2, 0) + Range("datosdis!$I2")
Range("datosdis!$J2") = Application.WorksheetFunction.VLookup("H3", Range("Notafaq!$c$6:$d$31"), 2, 0) + Range("datosdis!$J2")
Range("datosdis!$K2") = Application.WorksheetFunction.VLookup("H4", Range("Notafaq!$c$6:$d$31"), 2, 0) + Range("datosdis!$K2")
Range("datosdis!$L2") = Application.WorksheetFunction.VLookup("H5", Range("Notafaq!$c$6:$d$31"), 2, 0) + Range("datosdis!$L2")
Range("datosdis!$M2") = Application.WorksheetFunction.VLookup("H6", Range("Notafaq!$c$6:$d$31"), 2, 0) + Range("datosdis!$M2")
Range("datosdis!$N2") = Application.WorksheetFunction.VLookup("H7", Range("Notafaq!$c$6:$d$31"), 2, 0) + Range("datosdis!$N2")
Range("datosdis!$O2") = Application.WorksheetFunction.VLookup("H8", Range("Notafaq!$c$6:$d$31"), 2, 0) + Range("datosdis!$O2")


y asi sucesivamente para cada caso. La forma para que lo uso es esta; el condicional "IF" me hubica en la fila correspondiente al cliente x. para empezar a almacenar el total de efectivo invertido en la compra, el primer bloque de codigo que si funciona. El siguiente presenta un problema, almacena por articulo la cantidad que el cliente compra en relacion de el rango "notafaq" con la funcion vlookup, se busca el codigo del producto en la factura, al encontrarlo lo comienza a registrar y sumar segun sea el caso, en la posicion correspondiente. Hasta alli, todo bien, pero el error es que si no registro un codigo, me saca del programa, Ejemplo.

001
002
003
005

si en la factura no registro el 004, se detiene el proceso y solo almacena los primeros, pero es peor cuando inicia la factura con codigo 002 y mayores, pues no hace nada, marca error ya que esperaba el 001. Por eso me veo en la necesidad de condicionar cada vlookup, para que siga haciendo el proceso y salte almacenando solo los que si se encuentran registrados en la factura. No tengo variables, solo uso las celdas y Rangos.

De antemano, Gracias. Espero su Respuesta y ayuda.

shammsiel

Masculino Cantidad de envíos : 7
Edad : 32
Ciudad - Pais : Jalisco. Mexico
Version de Excel : 2003-2007
Fecha de inscripción : 18/08/2010

Volver arriba Ir abajo

Re: Macro para Registrar Ventas por Cliente

Mensaje por GalileoGali el Vie Sep 03, 2010 7:56 pm

sube un archivo con pocos registros, los suficientes como para entenderte mejor, la verdad es que no me resulta imaginable la estructura en que desarrollas tu codigo

_________________
GalileoGali
M.A.P. 2010-2013
Microsoft Active Professional
avatar
GalileoGali
Admin

Masculino Cantidad de envíos : 1963
Edad : 62
Ciudad - Pais : QUIROGA, Argentina
Version de Excel : 2000-2003-2007-2010
Fecha de inscripción : 24/01/2008

http://excelgali.mejorforo.net

Volver arriba Ir abajo

Aqui El Archivo

Mensaje por shammsiel el Vie Sep 03, 2010 8:49 pm

Buen dia y Gracias. Aqui Esta el Archivo, es algo sencillo, pero pues es mi primer desarrollo. De nuevo Gracias. La Macro es "guardarpuntos". Todo esta en Hoja "notafaq" y los datos se extraen y almacenan enlas demas.

shammsiel

Masculino Cantidad de envíos : 7
Edad : 32
Ciudad - Pais : Jalisco. Mexico
Version de Excel : 2003-2007
Fecha de inscripción : 18/08/2010

Volver arriba Ir abajo

Aqui esta

Mensaje por shammsiel el Vie Sep 03, 2010 8:51 pm

Ya, al fin subio


shammsiel

Masculino Cantidad de envíos : 7
Edad : 32
Ciudad - Pais : Jalisco. Mexico
Version de Excel : 2003-2007
Fecha de inscripción : 18/08/2010

Volver arriba Ir abajo

Re: Macro para Registrar Ventas por Cliente

Mensaje por GalileoGali el Sáb Sep 04, 2010 8:51 am

Prueba agregando lo siguiente en tu codigo

If Range("Notafaq!$c$3").Value = Range("datosdis!$a$2") Then
On Error Resume Next
Range("datosdis!$E2").Value = Range("datosdis!$E2") + Range("Notafaq!$F32")


>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

On Error Goto 0

End If

Desde ya que mirando bien lo que haces, estoy en dudas, respecto de muchas otras cosas de tu código que no termino de entender, pero bueno espero que eso te sirva......

_________________
GalileoGali
M.A.P. 2010-2013
Microsoft Active Professional
avatar
GalileoGali
Admin

Masculino Cantidad de envíos : 1963
Edad : 62
Ciudad - Pais : QUIROGA, Argentina
Version de Excel : 2000-2003-2007-2010
Fecha de inscripción : 24/01/2008

http://excelgali.mejorforo.net

Volver arriba Ir abajo

Gracias por tu codigo

Mensaje por shammsiel el Sáb Sep 04, 2010 3:47 pm

Buen dia, agradezco el codigo que tambien me sirvio, nada mas que el error me lo marca, no en las personas o ID (que por el momento la prueba es con el mio solamente), sino en el momento de registrar por producto, en la hoja "datosdis" en direccion de la fila 2, que corresponde a mi posicion en el registro y a partir de la celda "H2", debe empezar a registrar la cantidad por producto, buscando primero en "notafaq" dentro del rango c6:d31, si el codigo (h1) que corresponde a ("F1-COOK) se encuentra en la nota, de ser asi, si me asigna la cantidad pedida, el problema es, que si no esta en la nota, marca error, y para el proceso. Me falta indicar que de No encontrarlo, siga buscando los demas codigos y los registre en su celda correspondiente. Una Disculpa, por no tener muy ordenado el codigo, pero soy lirico. Una Disculpa.

shammsiel

Masculino Cantidad de envíos : 7
Edad : 32
Ciudad - Pais : Jalisco. Mexico
Version de Excel : 2003-2007
Fecha de inscripción : 18/08/2010

Volver arriba Ir abajo

Re: Macro para Registrar Ventas por Cliente

Mensaje por shammsiel el Sáb Sep 04, 2010 3:50 pm

Y asi para cada Caso y producto, me falta esa indicacion (Que seria la misma)........ Gracias.

shammsiel

Masculino Cantidad de envíos : 7
Edad : 32
Ciudad - Pais : Jalisco. Mexico
Version de Excel : 2003-2007
Fecha de inscripción : 18/08/2010

Volver arriba Ir abajo

GRACIAS INFINITAS

Mensaje por shammsiel el Sáb Sep 04, 2010 6:14 pm

Muchisisisimas GRACIAS, ya funciono. Reescribi el "ON ERROR RESUME NEXT" ante de cada linea con "range" y Resulto. Agradezco infinitamente su ayuda. Ahora hare las modificaciones y continuare con los demas clientes.
Cuando lo Termine, le enviare una copia, puede existir una forma de simplificar tanta escritura, pero debo aprender y sufrir en los intentos. De nueva cuenta Muchas Gracias, me sirvio 1000 veces.

shammsiel

Masculino Cantidad de envíos : 7
Edad : 32
Ciudad - Pais : Jalisco. Mexico
Version de Excel : 2003-2007
Fecha de inscripción : 18/08/2010

Volver arriba Ir abajo

Re: Macro para Registrar Ventas por Cliente

Mensaje por GalileoGali el Sáb Sep 04, 2010 6:32 pm

Me alegro de que te haya servido, pero:
1) Seguramente la repeticion de la clausula On error Resume Next, viene a resultar innecesaria.
2) No hay que apresurarse a desdeñar una solucion
3) La aportada no es la mas elegante de las soluciones.
3.1) Siempre es preferible ubicar cada VALOR/CELDA existente y no loopear por las dudas exista algo, lo cual es, en este caso, un zafarrancho

4) Un comprobador de la Existencia de un valor en una lista, como paso previo a buscarlos es COUNTA que devuelve 0 si no existe lo que se pretende buscar

5) Intuyo que con una tabla dinamica y una correcta y bien organizada base de registros podria obtenerse algo semejante, sin necesidad de macros

_________________
GalileoGali
M.A.P. 2010-2013
Microsoft Active Professional
avatar
GalileoGali
Admin

Masculino Cantidad de envíos : 1963
Edad : 62
Ciudad - Pais : QUIROGA, Argentina
Version de Excel : 2000-2003-2007-2010
Fecha de inscripción : 24/01/2008

http://excelgali.mejorforo.net

Volver arriba Ir abajo

Re: Macro para Registrar Ventas por Cliente

Mensaje por shammsiel el Lun Sep 06, 2010 4:50 pm

Muchas Gracias por su Aclaracion. Sé que no es una solucion organizada, por eso solo la ubique dentro del codigo que funciona (o hace lo que quiero mostrar), a excepcion del momento del error, cuando no se registra o no se pide en la orden de compra un codigo, me sucede el 1004, que con la clausula que me indicó, me sacó del problema. Por ello, al saber que no es el modo correcto de estructurar, (y como le comento, es la primera vez que me enfrento a esto, en la escuela media superior, tuve promedios apenas aceptables), cuando concluya de escribir las modificaciones, le envio una copia y seguiré trabajando para aprender lo que me hace falta, que para esto me decidi a realizar el miniproyecto. De nuevo Agradezco su pasciencia y su tiempo dedicado Infinitamente y seguiremos comunicandonos. Gracias

shammsiel

Masculino Cantidad de envíos : 7
Edad : 32
Ciudad - Pais : Jalisco. Mexico
Version de Excel : 2003-2007
Fecha de inscripción : 18/08/2010

Volver arriba Ir abajo

Re: Macro para Registrar Ventas por Cliente

Mensaje por Contenido patrocinado


Contenido patrocinado


Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba


 
Permisos de este foro:
No puedes responder a temas en este foro.