En una celda (G11), tengo que aplicar mediante vb la siguiente formula:
=SI(F11=H11;F11;SI($E$3="N";SI(O(ESBLANCO(F11);ESBLANCO(H11));"";0);SI($E$3="M";SI(O(ESBLANCO(F11);ESBLANCO(H11));"";SI(F11>0;MIN(ABS(F11);ABS(H11));PRODUCTO(-1;MAX(ABS(F11);ABS(H11)))));"")))
el caso es que la forma como lo hago es:
Dim rango_qv As string
Dim rango_qv_p As string
rango_qv = "F11"
rango_qv_p = "H11"
formul6 = "PRODUCT(-1,MAX(ABS(" & rango_qv & "),ABS(" & rango_qv_p & ")))"
formul3 = "IF(" & rango_qv & ">0,MIN(ABS(" & rango_qv & "),ABS(" &
rango_qv_p & "))," & formul6 & ")"
formul5 = "IF(OR(ISBLANK(" & rango_qv & "),ISBLANK(" & rango_qv_p &
")),""""," & formul3 & ")"
formul4 = "IF(OR(ISBLANK(" & rango_qv & "),ISBLANK(" & rango_qv_p &
")),"""",0)"
formul2 = "IF(" & rango_regla & "=""M""," & formul5 & ","""")"
formul1 = "IF(" & rango_regla & "=""N""," & formul4 & "," & formul2 & ")"
formul = "=IF(" & rango_qv & "=" & rango_qv_p & "," & rango_qv & "," &
formul1 & ")"
.Cells(rng11 + 1, columna_qc_int).formula = formul
El codigo no da error y a la celda se le pone la formula. El problema es
que tengo que entrar en la celda y dar INTRO para que reconozca la formula
como buena. Si no hago esto, en la celda me muestra: #NUMBER?
Alguien sabria decirme que me falta por hacer en codigo???
Muchas gracias.
Leer las respuestas