Excel - Ayuda con formula en VBA

 
Vista:

Ayuda con formula en VBA

Publicado por Alfredo (1 intervención) el 29/07/2015 18:10:33
Hola

Buen dia

Saludos y quisieran ver si me pueden apoyar con la siguiente situación.
En una marco que al ejecutarla si la suma de dos valores en este caso us + uni dan cero como resultado, me marca el error, y se detiene y ya no continua,.
Me podrian ayudar a ver que puedo hacer para solucionarlo

Dejo la marco que estoy trabajando :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Sub TEZ()
x = 0
co$ = Range("C5").Value
uni = Range("F5").Value
pre = Range("G5").Value
Sheets("HOJA1").Unprotect
Sheets("HOJA1").Select
Range("B10").Select
While ActiveCell.Value <> ""
If ActiveCell.Value = co$ Then
ActiveCell.Offset(0, 4).Select
vs = ActiveCell.Value
ActiveCell.Offset(0, -1).Select
us = ActiveCell.Value
ActiveCell.Offset(0, -1).Select
If ActiveCell.Value <> "" Then ActiveCell.Value = (vs + (uni * pre)) / (us + uni) Else ActiveCell.Value = pre
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = ActiveCell.Value + uni
ActiveCell.Offset(0, -3).Select
x = 1
End If
ActiveCell.Offset(1, 0).Select
Wend
 
End Sub
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

Ayuda con formula en VBA

Publicado por nn (8 intervenciones) el 29/07/2015 19:17:51
te da error porque estás dividiendo por cero (vs + (uni * pre)) / (us + uni) (indefinido)
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

Ayuda con formula en VBA

Publicado por Unnowk (1 intervención) el 29/07/2015 19:55:31
Si por eso quiere saber como poder arreglarlo
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

Ayuda con formula en VBA

Publicado por Khristian (77 intervenciones) el 01/08/2015 01:51:23
Division por Cero !!!!!

Eso actualmente lo deben estar enseñando en kinder....

Solución......


IF (us + uni) = 0 then
....Haz lo que quieres cuando es Cero, menos Dividir por 0
ELSE
......Tu código
.....If ActiveCell.Value <> "" Then ActiveCell.Value = (vs + (uni * pre)) / (us + uni) Else ActiveCell.Value = pre
....
.....

END IF
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