Una vez más, me enredo en los "pequeños detalles"...
Tengo un UserForm1 que tiene el TextBox3.
En ese TextBox3 escribo un valor numérico, por ejemplo, 5,37
Posteriormente, utilizo ese importe para sumar o restar con otras cantidades de la Hoja, para lo que "leo" el contenido del TextBox3
Cells(1,5).Value = UserForm1.TextBox3.Value
que lo sitúa en la celda correspondiente...
Las celdas con las que trabajo, están definidas como número, con dos decimales.
Sin embargo, los valores que se situan en esas celdas, continen valores numéricos con unos 6 decimales, que no se ven por la definición de las celdas para que muestren solamente 2 decimales.
Pero a la larga, terminan mostrando una diferencia de 1 centimo... por el redondeo de la tercera cifra decimal.
De donde salen esos 6 decimales...?
Cómo se puede subsanar esa situación...?
Me imgino que tienen que ver con el TextBox del UserForm... pero no consigo resolverlo.
Mar, 04/12/2012 - 16:33
#1
Capturando el valor numérico de un TextBox de un UserForm...
En realidad Excel siempre opera con 15 decimales, aunque el formato de las celdas haga parecer otra cosa.
Para los casos en que necesites operar con los números que se ven tienes dos opciones:
Opción 1 utilizar la función REDONDEAR en tus operaciones, para redondear los resultados por ejemplo a 2 decimales y así vas quitando esos excesos de decimales.
Opción 2 activa el cálculo con precisión en pantalla. esta opción de Excel fuerza el cálculo sólo con el número que se ve de acuerdo al formato y no con el valor completo de la celda. (esto lo tienes en Opciones>Avanzadas>Al calcular este libro>Establecer precisión en pantalla
------
Ya sé Excel, pero necesito más.