Capturando el valor numérico de un TextBox de un UserForm...

3 envíos / 0 nuevos
Último envío
Jose Luis Casla...
Imagen de Jose Luis Casla Araiz
Offline
última acción: Hace 1 semana 1 día
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntos
alta: 11/05/2012 - 15:15
Puntos: 1735
Capturando el valor numérico de un TextBox de un UserForm...
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.
pacomegia
Imagen de pacomegia
Offline
última acción: Hace 17 horas 33 mins
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntosadministrador
alta: 27/12/2006 - 23:26
Puntos: 11035
Re: 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.

Jose Luis Casla...
Imagen de Jose Luis Casla Araiz
Offline
última acción: Hace 1 semana 1 día
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntos
alta: 11/05/2012 - 15:15
Puntos: 1735
Re: Capturando el valor numérico de un TextBox de un UserForm...
Gracias, una vez más. Me ha costado "cercar" el problema. He optado por la primera de las dos soluciones propuestas, la de la utilización de la función de redondear. He ido completando todas las lineas del programa en las que habia operaciones, añadiendoles Redondear(... Creeme que he llegado a pensar que no... que no iba a ir por ahi el problema... Porque he ido haciendo pruebas a cada rato... y seguia la diferencia del centimo... Al final, con paciencia, he completado todas las operaciones y HA FUNCIONADO... Ha desaparecido la diferencia del centimo de marras... Gracias, Paco... y como siempre... hasta la próxima.