Cómo hacer que Excel reconozca un formato de número

Necesito que una tabla en la que estoy trabajando con macros me reconozca el formato de numero de la siguiente manera sin cambiar las configuraciones regionales:

$1.234.567,90, es decir, el punto(.) Como separador de miles y la coma (,) como separador de decimales.

Estos datos se cargan a la tabla desde un User Form

La configuración regional está de esta manera y las opciones de Excel tienen marcado "usar separadores del sistema"

Las instrucciones están así:

Pero al copiarse a la tabla lo hacen de la siguiente manera (como los ejemplos de abajo, los 4 últimos), es decir no lo reconoce como número con la configuración deseada. Los valores que están arriba(los tres primeros) con el formato correcto fueron ingresados manualmente

2 Respuestas

Respuesta
4

Intenta con lo siguiente:

Range("G" & FF).value = cdbl(txtprecio1)

Es decir, cuando vayas a pasar el valor del textbox a la celda tienes que ponerlo dentro de la función Cdbl

Prueba y me comentas.


':)
S a l u d o s . D a n t e A m o r
':) Si es lo que necesitas. Recuerda valorar la respuesta. G r a c i a s.

Estimado Dante:

Muchas gracias por tu respuesta, te comento que me sigue ocurriendo lo mismo después de realizado el cambio sugerido.

Saludos,

LFB

Quita el formato que pones en el textbox.

Y vuelve a probar

Estimado Dante:

Sigue el mismo error, si ingreso los datos con (,) no me los reconoce, si ingreso con (.), pero bueno, no es tan grave, será solo cuestión de cambiar la manera de escribir los datos.

Ingresé algunas otras consultas que son un poco más complejas, si me podrías ayudar con eso te agradecería mucho.

Saludos,

LFB

Antes de pasar los datos, reemplaza los puntos por nada y las comas por puntos.

Respuesta
2

En VBA los separadores van al revés de lo que tenemos en la configuración.

Te dejo un pequeño ejemplo: un botón pasa de la hoja a los controles (luego le da formatos) y el segundo botón devuelve los valores a la hoja:

Private Sub CommandButton1_Click()
FF = 5
TextBox1 = Range("G" & FF).Value
TextBox2 = Range("H" & FF).Value
TextBox1 = Format(TextBox1, "$###,##0.00")
TextBox2 = Format(TextBox2, "$###,##0.00")
End Sub
Private Sub CommandButton2_Click()
FF = 8
Range("G" & FF) = CDbl(TextBox1.Text)
Range("H" & FF) = CDbl(TextBox2.Text)
End Sub

Observa cómo debe registrarse el formato en VBA:

 TextBox1 = Format(TextBox1, "$###,##0.00")

Y luego para moverlo a la hoja utiliza la función CDBL:

Range("G" & FF) = CDbl(TextBox1.Text)

¡Gracias! Elsa, sigue sin funcionar del todo, como tú sabes, al ingresar valores estos se copian en la base de datos de clientes y posteriormente se utilizan en el UF de facturación, cuando hago modificaciones, o me reconoce la (,) en la base de datos o en el UF, pero no en los dos

Te estoy enviando un pequeño ejemplo para que lo pruebes.

También, con respecto a la imagen de tu 'configuración regional' siempre es conveniente no repetir separadores. Veo que en Listas también tenés coma igual que en decimales... en mi caso utilizo punto y coma y tengo entendido que eso ayuda.

Sdos!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas