Formato de Moneda en cuadro de texto

Y felicitación a tu apoyo que brindas a nosotros que tenemos inconvenientes en el desarrollo de VBA Excel.

Aprovecho para explicarte mi problema: Mira desarrollo algunos formularios y en algunos cuadros de texto se debe teclear cantidades en formato de moneda. He aplicado varios ejemplos, y si bien, me genera el proceso, todos los hacen hasta que pierde el foco el objeto. O simplemente no me permite asiganar decimales. Por ejemplo:

Private Sub TextBox1_Change()
TextBox1 = Format(TextBox1, "$ #,##0")
End Sub

Necesito que en el tiempo que se va capturando el dato numerico en el cuadro de texto se presente el formato de moneda junto con la posibilidad de asignar decimales. En el ejemplo anterior si cambio la mascara por "$ #,###.#0" no me permite capturar mas que un entero y dos decmales.

Ojala pudieras ayudarme, ya estoy un poco desesperado.. :)

1 respuesta

Respuesta
2

:)

Te estás "complicando la vida" innecesariamente, Armando. Mira:

- En el textbox lo que tienes que ingresar es el número sin separador de miles y, de ser necesario, con el separador de decimales adecuado.

- Al salir del textbox y activar cualquier otro control se ejecutará automáticamente lo que sigue:

Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
  If TextBox1 = "" Then TextBox1 = 0
  TextBox1 = Format(0 + TextBox1, "Currency")
End Sub

y esto es lo que te permitirá "exhibir" el formato de moneda nativo de la PC en la que operas: ¿Entendido?...

Hola Mario, gracias por tu respuesta, pero creo me exprese mal, o bien, no me entendisite.

Lo que me indicas funciona peferctamente, lo que quiero es que en el momento de ejecución del textbox1 se vaya presentando la mascara, no cuando pierda el foco el texboxbo1.

Gracias por tu apoyo

Hola Mario, gracias por tu respuesta, pero creo me exprese mal, o bien, no me entendisite.

Lo que me indicas funciona peferctamente, lo que quiero es que en el momento de ejecución del textbox1 se vaya presentando la mascara, no cuando pierda el foco el texboxbo1.

Gracias por tu apoyo

:)

Mi estimado: te explicaste a la perfección y yo... ¡Mejor! (Jajjjajajajja).

Quiero decirte que no deberías perder de vista mi frase inicial: - "Te estás "complicando la vida" innecesariamente, Armando.".

O sea: no es que no se pueda hacer -exactamente- lo que planteas... Pero ocurre que el tiempo que hay que dedicar para desarrollar ese comportamiento excede -en mucho- las "dos líneas locas" que te pasé.

Y ello es así porque los textbox's (que utilizamos en Excel) son objeto muy simples y sin demasiadas facilidades (hay que programárselas).

En resumen:

- ¿Se puede?... ¡Sí, se puede!

- ¿Tiene sentido dedicar tiempo -no menor- para lograr ese efecto?... ¡No lo tiene!

- ¿Existen por la Web ejemplos de ello?... Sí, pero tienes que dedicar tiempo y esfuerzo a encontrarlos y esperar que su funcionalidad coincida con lo que necesitas.

- ¿Mi consejo?... Dedica tiempo y esfuerzo para pensar y desarrollar aspectos más importantes de tu proyecto.

Saludos, Mario R.

.

:)

Estimado, como me llamas.

Mario, agradezco tus comentarios, pero sin que lo tomes a mal, considero tu mensaje algo fuera de lugar.

Si bien, en ocasiones uno recurre a este medio electrónico, es como una alternativa más en la resolución de problemas. En cuestión a mi pregunta y al observar tu respuesta, entiendo dos cosas importantes:

Primero- Es un medio de asesoría gratuito, y por ello, mi reconocimiento, pero se debe tener más tacto en los comentarios exhibidos en las respuestas. Tu código, o bien, ejemplo, está disponible en más de una página web o video tutoriales. Por lo que, sin dudar a tu consejo sería algo inédito que no se hubiera buscado alternativas anticipadas a la tuya. El aspecto motivacional que recomiendas, me da a lugar a pensar que se carece de la paciencia necesaria para apoyar a un usuario.

Segundo- El aprendizaje en la actualidad, debe tener habilidades e-learning para ser competitivo en este medio digital. Pero cuando uno hace uso de estos recursos, esperas respuestas más exactas, a sabiendas que ocasiones pueden ser tan obvias para algunos, pero para otras difíciles de entender, es ahí, donde se debe tener la cordura de apoyar con estrategias más sólidas y no solo consejos motivacionales.

 En resumen, como bien me aconsejas, me deja un mal sabor de boca tu respuesta a mi pregunta, que, por cierto, encontré la solución antes de tu mensaje y que crees, sin tanto rollo motivacional que me expresaste.

Enhorabuena, y lo más importante no subestimes a quien pregunta y sobre qué tipo de pregunta te hagan, pues en un futuro, puede ser alguien de quien necesites.

Saludos Cordiales

Armando Fuentes O.

CDMX

:)

¿Conseguiste la solución?... ¡Qué bien... y qué rápido!

¡Compártela, entonces!... Ya sabes: ¡Hoy por ti, mañana por mí!

:)

.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas