¿Qué tal expertos, cómo están?, ¿Cómo mostrar formato de moneda en un textbox?

Buenas noches expertos, Tengo una duda, cómo puedo hacer para mostrar en un textbox el formato de moneda igual como se encuentra en la celda excel. Es decir si en excel el valor es $1,200.00 que en el textbox del formulario se muestre igual. Gracias por su atención.

Nota: Trabajo en versión 2010 y 2013.

1 Respuesta

Respuesta
1

Puedes usar la función format

Esta función devuelve un tipo Variant (String) que contiene una expresión formateada de acuerdo a las instrucciones contenidas en una expresión de formato:

Algunos formatos definidos por el usuario.
MiCadena = Format(5459.4, "##,##0.00") ' Devuelve "5.459,40".
MiCadena = Format(334.9, "###0.00") ' Devuelve "334,90".
MiCadena = Format(5, "0.00%") ' Devuelve "500,00%".
MiCadena = Format("HOLA", "<") ' Devuelve "hola".
MiCadena = Format("Esto es", ">") ' Devuelve "ESTO ES".

para tu necesidad, sirve el siguiente código:

TextBox1.Value = Format(Range("A1"), "$##,##0.00")

Si tienes alguna duda, puedes preguntar de nuevo, De no ser asi, no se te olvide dar por finalizada la pregunta. Hasta la próxima!

Qué tal Kimari23, Gracias por el apoyo:

He aplicado tu sugerencia pero me manda un error de compilación, dice: No se puede encontrar el proyecto o la biblioteca y me selecciona Format

Qué puedo hacer para solucionar este error?

Gracias por tu tiempo.

Private Sub CommandButton4_Click()
Dim i As Integer
For i = 1 To 10000
If TextBox15.Text = Sheets("PGO2012(5)").Cells(i + 2, 4).Value Then
ComboBox1.Text = Sheets("PGO2012(5)").Cells(i + 2, 3).Value
TextBox1.Text = Sheets("PGO2012(5)").Cells(i + 2, 6).Value
TextBox2.Text = Sheets("PGO2012(5)").Cells(i + 2, 5).Value
TextBox3.Text = Sheets("PGO2012(5)").Cells(i + 2, 7).Value
TextBox4.Text = Sheets("PGO2012(5)").Cells(i + 2, 8).Value
TextBox5.Text = Sheets("PGO2012(5)").Cells(i + 2, 9).Value
TextBox6.Text = Sheets("PGO2012(5)").Cells(i + 2, 10).Value
TextBox7.Text = Sheets("PGO2012(5)").Cells(i + 2, 12).Value
TextBox8.Value = Format(Sheets("PGO2012(5)").Cells(i + 2, 21), "$##,##0.00")
End If
Next
End Sub

Qué tal Kimari23, gracias por tu atención, aplique tu sugerencia, sin embargo me manda un error de compilación que dice "no se puede encontrar el proyecto o la biblioteca".

Qué puedo hacer para corregir esto?, gracias por tu tiempo.

TextBox8.Value = Format(Sheets("PGO2012(5)").Cells(i + 2, 21), "$##,##0.00"

Utilizo excel 2010 y 2013

QUe raro, a mi me funciona perfecto este código.

Private Sub CommandButton1_Click()
 TextBox1.Value = Format(Sheets(1).Cells(1, 1), "$##,##0.00")
End Sub

Prueba esta hoja y me cuentas si te funciona

http://sdrv.ms/ZNCSkK

Gracias de nuevo kimari23, he probado la hoja con tu ejemplo y funciona, en mi ejemplo no lo consigo me sigue mandando el mismo error, te muestro el código del botón que llena los textbox de mi formulario.

Private Sub CommandButton4_Click()
Dim i As Integer

For i = 1 To 10000
If TextBox15.Text = Sheets("PGO2012(5)").Cells(i + 2, 4).Value Then
ComboBox1.Text = Sheets("PGO2012(5)").Cells(i + 2, 3).Value
TextBox1.Text = Sheets("PGO2012(5)").Cells(i + 2, 6).Value
TextBox2.Text = Sheets("PGO2012(5)").Cells(i + 2, 5).Value
TextBox3.Text = Sheets("PGO2012(5)").Cells(i + 2, 7).Value
TextBox4.Text = Sheets("PGO2012(5)").Cells(i + 2, 8).Value
TextBox5.Text = Sheets("PGO2012(5)").Cells(i + 2, 9).Value
TextBox6.Text = Sheets("PGO2012(5)").Cells(i + 2, 10).Value
TextBox7.Text = Sheets("PGO2012(5)").Cells(i + 2, 12).Value

TextBox8.Text = Sheets("PGO2012(5)").Cells(i + 2, 21).Value 'Aquí es donde quiero que me muestre el formato de moneda
TextBox9.Text = Sheets("PGO2012(5)").Cells(i + 2, 22).Value
TextBox10.Text = Sheets("PGO2012(5)").Cells(i + 2, 23).Value
TextBox11.Text = Sheets("PGO2012(5)").Cells(i + 2, 24).Value
TextBox12.Text = Sheets("PGO2012(5)").Cells(i + 2, 25).Value
TextBox13.Text = Sheets("PGO2012(5)").Cells(i + 2, 26).Value
TextBox14.Text = Sheets("PGO2012(5)").Cells(i + 2, 27).Value
TextBox15.Text = Sheets("PGO2012(5)").Cells(i + 2, 4).Value
Exit For
End If
Next
End Sub

No sé que es lo que estoy haciendo mal, espero tus valiosos comentarios

Para ahorrarnos trabajo, me puedes enviar una copia a [email protected]

Ok. En este momento ya debe estar mi archivo en tu correo, gracias por tu tiempo y paciencia.

Te envíe una solicitud por correo

Por alguna extraña razón, te falta la referencia a esta función, no encontré la librería que te hace falta, pero se soluciona, simplemente anteponiendo la palabra VBA.

O sea el código quedaría:

Private Sub CommandButton1_Click()
TextBox1.Value = VBA.Format(Sheets(1).Cells(1, 1), "$##,##0.00")
End Sub

No se te olvide dar por finalizada la pregunta. Hasta la próxima!

Gracias Kimari23, caso resuelto y disculpa la tardanza, pasa que en mi trabajo estoy muy limitado con el acceso a internet, solo puedo enviar y recibir mails, razón por la que he demorado en finalizar esta pregunta, muchas gracias de nuevo por compartir tus conocimientos y tu tiempo, hasta la próxima.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas