Visual Basic para Aplicaciones - No discrimina entre + y -

Life is soft - evento anual de software empresarial
 
Vista:
sin imagen de perfil
Val: 177
Bronce
Ha mantenido su posición en Visual Basic para Aplicaciones (en relación al último mes)
Gráfica de Visual Basic para Aplicaciones

No discrimina entre + y -

Publicado por Albert (204 intervenciones) el 31/10/2011 18:16:29
Buenas tardes foreros:
Tengo un problema con el codigo que os adjunto, la cuestión es que las facturas y los abonos se deben imprimir en formularios distinto para lo que hice este codigo que supuestamente debia discriminar si el valores de la celda donde guardo los datos (hoja Entradas) es negativo o bien positivo y llamar al modulo correspondiente, pero siempre me llama al de las facturas.
Que es lo que estoy haciendo mal?
Mil gracias de antemano por vuestro tiempo

___________________________________________________________________________

Private Sub CommandButton14_Click()
Dim i As Double
Dim Final As Integer

For i = 4 To 10000
If Entradas.Cells(i, 18) = "" Then
Final = i - 1
Exit For
End If
Next

For i = 4 To Final
If Entradas.Cells(i, 18) < 0 Then
Call Imp_Abono.Imp_Abono

Else
Call Imp_Factura.Imp_Factura

Exit For
End If
Next

End Sub
___________________________________________________________________________

Albert
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

No discrimina entre y -

Publicado por JuanC (565 intervenciones) el 31/10/2011 21:59:30
el código no se ve tan mal, sería necesario ver los datos... (si querés pasamelo)
ya probaste depurar el código paso a paso?

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
sin imagen de perfil
Val: 177
Bronce
Ha mantenido su posición en Visual Basic para Aplicaciones (en relación al último mes)
Gráfica de Visual Basic para Aplicaciones

No discrimina entre y -

Publicado por albert (204 intervenciones) el 31/10/2011 23:41:48
Mil gracias por tu pronta respuesta.
Intento limpiar el archivo de datos "confidenciales" y veo de enviartelo, como tiene bastante programación en el e-mail te digo exactamente donde esta el fallo (que tiene algun otro) no quiero abusar de tu tiempo.
De momento estoy probando de añadir la siguiente linea por ver si lo arreglo con una doble condición.

If Usf_Gastos.ComboBox6 = Entradas.Cells(i, 20) And Entradas.Cells(i, 18) < 0 Then

Gracias
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 Antoni Masana
Val: 1.134
Oro
Ha mantenido su posición en Visual Basic para Aplicaciones (en relación al último mes)
Gráfica de Visual Basic para Aplicaciones

No discrimina entre y -

Publicado por Antoni Masana (498 intervenciones) el 03/11/2011 09:27:44
Podrias probar poniendo añadiendo la linea del MsgBox para ver que datos esta tomando.

Por otro lado realiza los abonos has que encuentra una factura y finaliza ¿ Es correcto ?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Private Sub CommandButton14_Click()
    Dim i As Double
    Dim Final As Integer
 
    For i = 4 To 10000
        If Entradas.Cells(i, 18) = "" Then
           MsgBox i & " - " & Entradas.Cells(i, 18)
           Final = i - 1
           Exit For
        End If
    Next
 
    For i = 4 To Final
        If Entradas.Cells(i, 18) < 0 Then
           Call Imp_Abono.Imp_Abono
        Else
           Call Imp_Factura.Imp_Factura
           Exit For
        End If
    Next
 
End Sub
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