Problemas con cálculos matemáticos en VBA de Excel

Estoy haciendo un formulario en VBA de Excel, en el cual se debe ingresar unos datos de unas mediciones y este tiene un botón (CALCULAR) con el que se realizarían unos cálculos y mostraría los resultados en una tabla del mismo formulario.

Bien los cálculos algunos son un poco complejos, pero por el momento estoy en los cálculos básicos, más específicamente en unos cálculos de MEDIAS de los números introducidos en el formulario. Lo que me extra;a es que esos cálculos tan básicos y sencillos me dan errores, me manda resultados incorrectos aun no entiendo porque. Si es que necesito alguna librería para hacer cálculos o si es que estoy fallando en algo.

Adjunto imágenes del código y de los resultados para mayor entendimiento.

Cualquier ayuda o sugerencia es bienvenida. Desde ya muchas gracias

Respuesta
2

Esto es lo que está pasando.

En los textbox, como su nombre lo indica, son cajas de texto, entonces en las cajas tienes los textos 11, 10 y 11

En tu operación pones esto:

Mmed1 = (med11 + med12 + med13) / 3

Pero como los textbox contienen texto, lo que hace es concatenar los textos y te pone un dato así:

111011

Si divides 111011 / 3 = 37003.6666

Es por eso que aparentemente el resultado o el cálculo es incorrecto.


Lo anterior se puede solucionar convirtiendo el texto a valor numérico, te recomiendo utilizar CDbl() para convertir texto a valor numérico.

    If txtMed11.Value = "" Then med11 = 0 Else med11 = CDbl(txtMed11.Value)
    If txtMed12.Value = "" Then med12 = 0 Else med12 = CDbl(txtMed12.Value)
    If txtMed13.Value = "" Then med13 = 0 Else med13 = CDbl(txtMed13.Value)
    '
    Mmed1 = (med11 + med12 + med13) / 3

Nota: También puedes utilizar Val( ) de esta forma

Mmed1 = (Val(med11) + Val(med12) + Val(med13)) / 3



'.[Sal u dos. Dante Amor. No olvides valorar la respuesta. 
'.[Avísame cualquier duda

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas