|
Responder ![]() |
Autor | |||
febrero59 ![]() Nuevo ![]() ![]() Unido: 04/Diciembre/2007 Localización: España Estado: Sin conexión Puntos: 27 |
![]() Enviado: 08/Junio/2009 a las 18:16 |
||
Hola, Después de buscar en aquí y en la web, no encuentro solución al problema que tengo, que consiste en captar en un txtbox un numero con 4 decimales que luego guardo en una celda excel con los 4 decimales incluidos.
El código que tengo es:
Private Sub ValorRef_afterupdate() 'tras actualizarse el textbox
If IsNumeric(ValorRef.Value) Then ValorRef.Value = Format(ValorRef.Value / 10000, "0.0000") Sheets("Finan").Range("L21").Value = CCur(ValorRef.Value) Else ValorRef.Value = 0 End If End Sub El problema que tengo es que al guardar en excel la cadena, con CCur sólo me graba 2 decimales (con redondeo) y yo necesito guardar en la celda los 4 decimales alimentados.
¿cómo podría hacerlo?
Un abrazo, Juan
|
|||
![]() |
|||
Emilio ![]() Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Administrador ![]() Santander Unido: 08/Agosto/2004 Localización: España Estado: Sin conexión Puntos: 18836 |
![]() |
||
Hola!
¿Y que necesidad tienes de usar CCur?, yo diría que ninguna, puede utilizar format
WorkSheets("Finan").Range("L21").Value = Format(ValorRef, "0.0000")
|
|||
![]() |
|||
febrero59 ![]() Nuevo ![]() ![]() Unido: 04/Diciembre/2007 Localización: España Estado: Sin conexión Puntos: 27 |
![]() |
||
Gracias Emilio,
De cuando empecé a salsear con formularios vba excel, recuerdo el gran problema que tuve para controlar la captación de datos numéricos en un textbox, formateando su presentación, y grabar correctamente la celda en la que guardaba luego los datos.
CCur me resolvió de forma eficaz, la grabación de los números introducidos en el textbox (cuyo formato controlo con Format(variable.Value, "#,##0")) , en la celda excel correspondiente: El format indicado y CCur casan perfectamente.
Cualquier otra opción me viene dando problemas, al divorciarse la unicidad de número que me da el format del textbox y la grabación de la celda con CCur.
No sé si me he explicado... pero el problema lo tengo ahora que necesito captar 4 decimales y vuelvo a recordar lo que me costó aquello.
En definitiva, lo que estoy buscando es controlar adecuadamente la introducción y presentación de un número de hasta 4 decimales en un textbox, y a la vez poder grabarlo con hasta 4 decimales en la celda correspondiente de la hoja de excel.
Gracias de nuevo, Juan.
|
|||
![]() |
|||
Jordi-Albert ![]() Colaborador ![]() ![]() Unido: 06/Abril/2006 Localización: Alemania Estado: Sin conexión Puntos: 4321 |
![]() |
||
mirando la ayuda de CCur:
ello significa que tiene 4 decimales.... como tienes difinida ValorRef ?? has probado de hacer la asignación en una sola línea? Sheets("Finan").Range("L21").Value = CCur(Format(ValorRef.Value / 10000, "0.0000")) aunque para mí, lo lógico sería: Sheets("Finan").Range("L21").Value = Format((CCur(ValorRef.Value / 10000), "0.0000") (no es lógico dar un formato = "convertir a texto" para posteriormente convertir el valor a formato moneda....) Editado por Jordi-Albert - 09/Junio/2009 a las 08:57 |
|||
![]() |
|||
febrero59 ![]() Nuevo ![]() ![]() Unido: 04/Diciembre/2007 Localización: España Estado: Sin conexión Puntos: 27 |
![]() |
||
Hola,
Tantas vueltas encerrado en adaptar esquemas anteriores...brr.
Nada, me funciona correctamente lo siguiente:
Private Sub ValorRef_afterupdate()
If IsNumeric(ValorRef.Value) Then ValorRef = Val(ValorRef.Value) Sheets("Finan").Range("L21").Value = ValorRef Else ValorRef.Value = 0 End If End Sub Básicamente se trataba de aplicar la función valor a la variable y punto.
Muchas gracias a todos, Juan.
|
|||
![]() |
Responder ![]() |
|
Tweet
|
Ir al foro | Permisos de foro ![]() Usted No puede publicar nuevos temas en este foro Usted No puede responder a temas en este foro Usted No puede borrar sus mensajes en este foro Usted No puede editar sus mensajes en este foro Usted No puede crear encuestas en este foro Usted No puede votar en encuestas en este foro |