VBA, redondear a 2 decimales después de la coma

Bwabwa -  
 dd -
Hola,

he creado un userform en el que inserto datos de esta manera:
 precio.Text = Worksheets(1).Range("V" & numLigCourante).Value & " €" 

el problema es que algunos precios son demasiado largos, con varios dígitos después de la coma..
me gustaría mostrar estos precios, redondeados y sin decimales.

¿Cómo funciona?

He pensado en
1 - redondear aplicando la función redondear en las 3 columnas de precios correspondientes, luego
2 - insertar los valores en los textbox correspondientes utilizando el código anterior, pero tendría que localizar la posición del paréntesis y copiar solo lo que hay antes de este.

ya he pensado en Len Left IsString... pero soy principiante en VBA, es complicado, ¿podría ayudarme por favor?

gracias de antemano

2 respuestas

  1. Gord21 Mensajes publicados 928 Estado Miembro 289
     
    Buenas noches,
    ¿Te conviene esta solución? :
    precio.Text = Round(HojasDeCalculo(1).Rango("V" & numLigCourante).Valor & " €", 2)

    ¡Hasta luego!
    --
    Experiencia: nombre con el que los hombres bautizan sus errores.
    Oscar Wilde
    3
    1. Bwabwa
       
      Hola, disculpen por dar noticias tan tarde.
      Acabo de probar la solución propuesta y funciona perfectamente bien.
      ¡Les agradezco! :)
      0
    2. dd
       
      ¡Gracias por este fragmento de código!!!!
      0
  2. eriiic Mensajes publicados 24581 Fecha de registro   Estado Colaborador Última intervención   7 281
     
    Hola,

    también puedes formatear, todos los formatos personalizados son utilizables.
    por ejemplo para 2 cifras después de la coma:
    precio = Format([A1], "0.00 €")
    o en entero:
    precio = Format([A1], "0 €")

    eric
    2
    1. Bwabwa
       
      Hola, =D esta solución también funciona =D ¡gracias!
      Pero voy a usar el "round" en su lugar porque redondea.
      Pero gracias de todos modos.
      0