Visual Basic para Aplicaciones - SIMPLIFICAR CODIGO

Life is soft - evento anual de software empresarial
   
Vista:

SIMPLIFICAR CODIGO

Publicado por IGNACIO BARCIA (16 intervenciones) el 16/10/2008 22:39:37
Una pregunta sencilla,.....

Tengo en 2 EVENTOS (CellChanged), este caso 2 flexgrig que hacen lo mismo, y necesito simplificar este codigo. En realidad esto me ayudaria para simplificar mucho mas codigo....
Voy aprendiendo a prueba y error y no tengo la base....necesesaria, se que esto es basico....pero no lo puedo solucionar.

Public Sub FLEX_LINEAL_CellChanged(ByVal Row As Long, ByVal Col As Long)
On Error Resume Next
With FLEX_LINEAL
If .Col = 1 Then Call CAMBIO_COD: Call CALCULA_COSTO_VENTA
If .Col = 14 Then Exit Sub
End With

Call VERIFICA_NUMERACION
End Sub

Public Sub FLEX_ACC_CellChanged(ByVal Row As Long, ByVal Col As Long)
On Error Resume Next
With FLEX_ACC
If .Col = 1 Then Call CAMBIO_COD: Call CALCULA_COSTO_VENTA
If .Col = 14 Then Exit Sub
End With

Call VERIFICA_NUMERACION
End Sub

Todo el codigo es igual la diferencia es unificar el evento en un solo....he probado todo lo que se me ocurre y he leido, pero no lo puedo solucionar.....
Agradezco cualquier sugerencia.
Gracias.....
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de JuanC

RE:SIMPLIFICAR CODIGO

Publicado por JuanC (431 intervenciones) el 17/10/2008 00:20:58
si estás trabajando con dos flexgrid necesitás los dos eventos
lo único que podrías hacer es llamar a un procedimiento común desde
cada uno de ellos (con los parámetros correspondientes al caso)
Ej:

Private Sub Proc_comun(Grid As MSFlexGrid, ByVal Row As Long, ByVal Col As Long)
With Grid
If .Col = 1 Then Call CAMBIO_COD: Call CALCULA_COSTO_VENTA
If .Col = 14 Then Exit Sub
End With
Call VERIFICA_NUMERACION
End Sub

Public Sub FLEX_LINEAL_CellChanged(ByVal Row As Long, ByVal Col As Long)
Call Proc_comun(FLEX_LINEAL, Row, Col)
End Sub

Public Sub FLEX_ACC_CellChanged(ByVal Row As Long, ByVal Col As Long)
Call Proc_comun(FLEX_ACC, Row, Col)
End With

Saludos desde Baires, JuanC
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

GRACIAS JUAN

Publicado por IGNACIO BARCIA (16 intervenciones) el 17/10/2008 18:17:50
Muchas Gracias Juan, por tus respuestas en el foro

Te comento, resulta que el programa que desarrolle es para la presupuestacion de muebles de cocina, con la intencion de venderlo a la fabrica que estoy trabajando....
Yo estudie arquitectura, y empeze a aprender VBA a pricipios de año de forma autodidacta, te imaginas que mi codigo es sucio ya que me faltan un par de años de aprendizaje...

La cuestion es que si de diera esto de la venta, me gustaria contactarme con vos, para el pulido, claves, automatizacion, y mejorarlo en lo que se pueda......
Queria saber si vos te dedicas a esto como laburo es un hobby
No es para ya pero necesitaria a alguien que sepa....


Te puedo escribir a tu mail

Gracias

Ignacio
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de JuanC

RE:GRACIAS JUAN

Publicado por JuanC (431 intervenciones) el 17/10/2008 22:29:14
yo también soy autodidacta!
para mí siempre fue y es un hobby, pero eso no quita que también
hago trabajos para empresas y particulares, además de asesoramiento
hace +/-10 años que estoy en esto, junto con la programación en Builder C++
contactame x mail cuando quieras

juanc2942@hotmail.com ó juanc2942@gmail.com

Saludos desde Baires, JuanC
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar