Cómo hacer que un TextBox devuelva un valor numérico y no de texto

Al TextBox le di el formato de $ y los coloca en la planilla con ese formato, visualmente, pero las operaciones que están ligadas a esa cifra no se realizan ya que las pega como texto y necesito que se hagan sumas, restas y divisiones con esa cifra insertada.

1 respuesta

Respuesta
1

¿Por qué mejor no le da formato a la celda que recibe el dato?

¿Cómo aplica el formato? ¿Mediante código o mediante las propiedades del text?

De todas formas pruebe:

[a1] = FormatCurrency(TextBox1)

Esto asigna el contenido del text a la celda a1 con formato moneda..

Gracias por la respuesta. Yo estoy utilizando un formulario para cargar datos de facturas de compra que llevan fechas, nombres y números. A cada TextBox le di los formatos correspondientes pero necesito que los de $ aparezcan con ese formato pero que a su vez puedan ser sumados y restados como números...donde pongo lo que tu me indicas, gracias.

ASÍ TENGO DETERMINADO EL TEXTBOX

Private Sub TextBox3_Exit(ByVal Cancel As MSForms.ReturnBoolean)
TextBox3.Value = Format(Val(TextBox3), "$ #,##0.00")
End Sub

Lo que usted muestra es una rutina para aplicar formato al text cuando sale de el

para pasar el dato con el formato $ a la celda , debe utilizar [a1] = FormatCurrency(TextBox1)

En el evento que realiza la carga a la planilla... si es mediante un botón, debe poner esa linea en el evento click del botón, si es mediante otroa evento, la linea que propongo debe ir en ese evento

Hice lo que tu me dijiste y puse la línea del click del evento, solo cambié a1 por j4001 que es donde deposita el valor pero no no funcionó, me dice que es incorrecto.

¿Se puede colocar directamente en la rutina del TextBox? ¿cómo?

Acabo de probar esto

Esto es el click del boton1

Private Sub CommandButton1_Click()

TextBox3 = Format(Val(TextBox3), "$ #,##0.00")

[J4001] = (TextBox3)

End Sub

Y LO PASO OK

LA VERDAD ES QUE ME HAS SORPRENDIDO POR RAPIDEZ EN CONTESTAR Y TU GENEROSIDAD...lamento tener que seguir molestándote...este es el Click del botón

Private Sub Btm_Registrar_Click()
Application.Goto Reference:="superingreso"
Range("superingreso").Select
ActiveSheet.Cells(4001, 2) = TextBox1
ActiveSheet.Cells(4001, 4) = ComboBox1
ActiveSheet.Cells(4001, 6) = ComboBox2
ActiveSheet.Cells(4001, 8) = ComboBox3
ActiveSheet.Cells(4001, 9) = TextBox2
ActiveSheet.Cells(4001, 10) = TextBox3
ActiveSheet.Cells(4001, 11) = TextBox4
ActiveSheet.Cells(4001, 13) = TextBox5
ActiveSheet.Cells(4001, 14) = TextBox6
ActiveSheet.Cells(4001, 15) = TextBox7
ActiveSheet.Cells(4001, 16) = TextBox8
ActiveSheet.Cells(4001, 17) = TextBox9
TextBox1 = Empty
TextBox2 = Empty
TextBox3 = Empty
TextBox4 = Empty
TextBox5 = Empty
TextBox6 = Empty
TextBox7 = Empty
TextBox8 = Empty
TextBox9 = Empty
ComboBox1 = Empty
ComboBox2 = Empty
ComboBox3 = Empty
Copiaste
limpiadita
Range("categorita") = Empty
Range("provee") = Empty
Range("ingre") = Empty
Range("ingre1") = Empty
Range("fichotita") = Empty
TextBox1.SetFocus
End Sub

CADA TEXTOBOX COLOCA TODO BIEN PERO COMO TEXTO

Gracias

Prueba

ActiveSheet.Cells(4001, 10) = FormatCurrency(TextBox3, 0)

Excelente, vamos por buen camino, ya lo pega como número con el formato de moneda. Pero en el TextBox coloco $ 1000,00 y me lo pega como $ 1,00...traté de modificarlo cambiando el formato del 0 pero no lo acepto...millones de gracias

Elimina esto Format(Val(TextBox3), "$ #,##0.00")... ya que solo actúa como mascara para el text y lo que finalmente interesa es que pase en el formato deseado a la hoja... prueba

Le quito la máscara...solo cambia la apariencia del formulario y pongo 10000 y lo toma como $ 10,00 o sea que lo está dividiendo X 100 pienso que tiene que ser en el formato (TextBox3, 0) pero lo he tratado de cambiar pero no me lo ha aceptado...es como que habría que multiplicarlo por 100...millones de gracias

he creado un form y estos son los eventos

[color=#000000; font-family: Times New Roman]CommandButton1_Click[/size]()</span>

[color=#000000; font-family: Times New Roman]TextBox3</span></span>

[color=#000000; font-family: Times New Roman]TextBox3_Exit[/size](<span class="scayt-misspell" data-scaytid="24" data-scayt_word="ByVal">ByVal Cancel As MSForms.ReturnBoolean)</span></span>

[color=#000000; font-family: Times New Roman]TextBox3[/size] = <span class="scayt-misspell" data-scaytid="30" data-scayt_word="FormatCurrency">FormatCurrency(TextBox3, 0)</span></span>

[color=#000000; font-family: Times New Roman]<span style="color: #000000; font-family: Times New Roman;">[/color]</span>

[size= medium]<span style="font-family: Calibri;">End Sub[/size]</span>

verifica que el la celda en que recibes el valor no tengas formato con decimales.

En la prueba local que he realizado funciona ok

Pero es que en las facturas de compra siempre hay decimales

Bueno con decimales igual me funciona...

Private Sub CommandButton1_Click()

Range("H13") = TextBox3

End Sub

Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)

TextBox3 = FormatCurrency(TextBox3, 2)

End Sub

Maravilloso!!!!, funcionó y aprendí algo nuevo.

Dime, de dónde eres tú?...yo estoy en Argentina a donde he vuelto después de 15 años fuera. Lo mio es la gastronomía y asesoro restaurantes tanto en cocina como administración (hice Administración de restaurantes en Cornell y tengo dos maestrías). Acá no hay buenos sistemas para restaurantes (salvo facturación y cosas simples) y por eso estoy metido en este problema.

Quiero plasmar mis conocimientos en un programa fácil, sencillo y en el que el cliente pueda ver rápido los resultados. Estos programas existen en algunos países pero no acá y son muy caros para Sudamérica (50,000 dólares la licencia más barata).

Estoy buscando un programador que se quiera embarcar en mi proyecto...yo tengo el desarrollo claro y casi todo hecho en Excel, hace falta hacerlo posible.

A lo mejor te interesa o conoces a alguien...yo soy bastante conocido en el mundo de la restauración en el mundo y por eso me resultaría fácil venderlo.

Si entras en mi Face, Martín Carrera, podrás saber de mi.

Cualquiera sea tu respuesta házmelo saber y millones de gracias por tu ayuda, ahora te calificaré.

Cualquier cosa mi correo es [email protected], nuevamente millones de gracias y FELICES FIESTAS

Pues muy bien... entonces tu problema fue resuelto satisfactoriamente.. me da gusto

Soy Chileno, y me parece interesante tu proyecto.

Si tienes claro el diseño funcional te ayudo con gusto a programarlo.

Felices es fiestas

Tengo que ser uno de los pocos argentinos con pasaporte chileno...viví en Santiago 14 años y tuve restaurante en Santiago en Ididora Goyenechea y Enrique Foster Norte...por supuesto que tengo muchos amigos. Si entras en la página de El Mercurio, también podrás saber algo más de mi.

Muchas veces hay desconfianza...pero si te interesa podemos seguir conversando y yo mandarte los bosquejos y la filosofía del programa...como te dije mucho en Excel y ayudándome del Visual Basic de Excel como en este caso.

Después de ser necesario, si avanzamos, viajo a Chile para darle mejor forma...seguro que se puede vender también allá.

La mayoría de los programas están hechos por programadores que algo han ido sabiendo de la operación del restaurante y copiando otros programas, pero no he conocido ninguno al revés...que las verdaderas necesidades de los restaurantes se plasmen en un programa.

Espero tus opiniones, saludos

Interesante... creo que lo principal es que tu tienes claro lo que se requiere para el rubro, ahora el programador no es mas que el traductor a lenguaje programable, creo que la mejor forma de abordar el proyecto es realizarlo modularmente. Es decir simplificando las funciones en pequeñas porciones de código que sean genéricas y reutilizables

Te puedo ayudar si lo deseas, este tema para mi es un pasatiempo, cuando "tengo tiempo".

un saludo Sr. Carrera.

Si seguro, justo eso es lo que me falta a mi...gustándome la cocina, me di cuenta que sin buena administración nada podía hacer y así me fui metiendo en esto.

Te cuento que la solución para que los números fueran los correctos pero los sigue poniendo como texto...esto me va a sacar canas verdes...dónde te puedo mandar un archivo de Excel para que vayas viendo...y te lo envío con una explicación de qué es lo que se quiere obtener del mismo, saludos

envíelo a [email protected]

Lo revisare

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas