Suma en un formulario de Excel

Estoy realizando un formulario, el cual al salir del ultimo texbox me sume los anteriores, he usado el siguiente código

Private Sub base0_Change()
On Error Resume Next

Me.totalfactura = Round((Me.base0 + Me.base10 + Me.base21 + Me.base4 + Me.base5) + (Me.iva0 + Me.iva10 + Me.iva21 + Me.iva4 + Me.iva5), 3)
End Sub

El problema es que si quito On Error Resume Next me sale error

Respuesta

No nos olvidemos que los TextBox son controles de texto. Por lo tanto para realizar cálculos tendrás que evaluar que su contenido sea realmente numérico antes de aplicar cualquier función como Round, CDbl (para convertir a decimales) y otras como sumar.

Además hay otros eventos más adecuados en lugar del Change en el último control.

Como aquí ya no se puede dejar códigos o macros, te invito a mirar estos 2 videos de mi canal (73 y 74: TEXTBOX parte 1 y 2) desde donde seguramente resolverás tu tarea:

https://www.youtube.com/watch?v=vIcb-DbRpHo&list=PLrhlyizWZzOERwRMxIIy-BTP-CyXh_K5N&index=7 

https://www.youtube.com/watch?v=tlJ1pNk9bIw&list=PLrhlyizWZzOERwRMxIIy-BTP-CyXh_K5N&index=6 

También desde el Blog podrás descargar los libros con los ejemplos (o me los solicitas a mi correo).

1 respuesta más de otro experto

Respuesta
1

¿Y qué dice el mensaje de error?

Si el mensaje dice "Error 13... No coinciden los tipos"

Es debido que alguno de tus campos tiene un valor NO numérico.

Verifica que todos los valores sean numéricos.

Visita:

Canal

Recomendación:

Userform

Sal u dos

Dante Amor

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas