Revisión de código para su posible actualización

Espero tu ayuda para esta parte del código para que me lo ppongas más fácil, corto y que funcione de igual manera que hiciste con el anterior, con nuevo código y su más fácil entendimiento

Creo que esta parte es sobre la multiplicacion de D*E para la F
        lngcant& = Target.value
        strdescrip$ = Target.Offset(0, -2).value
        strcod$ = Target.Offset(0, -3).value
        strRango$ = Target.Address
        Target.Offset(0, 1) = "=IF(ISERROR(RC[-2]*RC[-1]),"""",RC[-2]*RC[-1])"
        Target.Offset(0, 1) = Target.Offset(0, 1)
            Range("E11") = Date
            Range("F11") = Time
 Y esta para la final Sub Total, IVA y Total
    Range("F25").Formula = "=IF(SUM(R[-11]C:R[-4]C)<=0,"""",SUM(R[-11]C:R[-4]C))"
    Range("F25") = Range("F25")
    Range("F26").Formula = "=IF((SUM(R[-12]C:R[-5]C)*RC[-1])<=0,"""",SUM(R[-12]C:R[-5]C)*RC[-1])"
    Range("F26") = Range("F26")
    Range("F27").Formula = "=IF(SUM(R[-2]C:R[-1]C)<=0,"""",SUM(R[-2]C:R[-1]C))"
    Range("F27") = Range("F27")
    Range("B26").Formula = "=IF(ISERROR(numletr(R[1]C[4])),"""",numletr(R[1]C[4]))"
    Range("B26") = Range("B26")

¿Estaré equivocado?

1 Respuesta

Respuesta
1

H o  l a:

Podría ser. Cambia esto:

        Target.Offset(0, 1) = "=IF(ISERROR(RC[-2]*RC[-1]),"""",RC[-2]*RC[-1])"
        Target.Offset(0, 1) = Target.Offset(0, 1)

Por esto:

        Target.Offset(0, 1) = Target * Target.Offset(0, -1)

Y también podría ser que cambies esto:

    Range("F25").Formula = "=IF(SUM(R[-11]C:R[-4]C)<=0,"""",SUM(R[-11]C:R[-4]C))"
    Range("F25") = Range("F25")
    Range("F26").Formula = "=IF((SUM(R[-12]C:R[-5]C)*RC[-1])<=0,"""",SUM(R[-12]C:R[-5]C)*RC[-1])"
    Range("F26") = Range("F26")
    Range("F27").Formula = "=IF(SUM(R[-2]C:R[-1]C)<=0,"""",SUM(R[-2]C:R[-1]C))"
    Range("F27") = Range("F27")

Por esto:

    If Application.Sum([F14:F21]) > 0 Then
        [F25] = Application.Sum([F14:F21])
        [F26] = [F25] * [E26]
        [F27] = [F25] + [F26]
    End If

sa lu dos

Hola DAM, buenos días

Tal como lo pusiste, esta funcionando.

    If Application.Sum([F14:F21]) > 0 Then
        [F25] = Application.Sum([F14:F23])
        [F26] = [F25] * [E26]
        [F27] = [F25] + [F26]
    End If

Una sola alteracion al rango que dejaste que es ([F14:F23]) y no F21

Entonces así:

   If Application.Sum([F14:F23]) > 0 Then
        [F25] = Application.Sum([F14:F23])
        [F26] = [F25] * [E26]
        [F27] = [F25] + [F26]
    End If

Si claro, así lo puse antes de decírtelo

Gracias DAM

Te faltó la primera línea.

NO, solo que cuando te lo mencione, solo me refería a F14:F23 (F21)

Sin cuidado DAM, todo bien

Un a pregunta hice sobre un tema de sonido en celda Excel, tomalo

Esas 2 líneas dicen 21, son las que yo puse:

If Application.Sum([F14:F21]) > 0 Then
        [F25] = Application.Sum([F14:F21])

Estas 2 líneas, son las que tú pusiste, una dice 21 y la otra 23

If Application.Sum([F14:F21]) > 0 Then
        [F25] = Application.Sum([F14:F23])

Lo correcto es que las 2 digan 23, como lo último que yo puse:

If Application.Sum([F14:F23]) > 0 Then
        [F25] = Application.Sum([F14:F23])

Aclarado el punto.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas