Excel Avanzado

Macros, Vba en Excel y muchos ejemplos de nuestro Curso de Excel Avanzado

Excel Avanzado

Función FormatCurrency en VBA

| 6 comentarios

Usamos la función FormatCurrency de Excel para obtener una expresión en formato de moneda utilizando el símbolo de moneda definido en el panel de control.

Los parámetros principales de esta función son:

FormatCurrency (expresión, numDígitosDespuésDeDecimal , incluirDígitoInicial , utilizarParéntesisParaNúmerosNegativos , agruparDígitos)

  • El parámetro expresión es      la expresión que deseamos transformar a formato moneda.
  • El parámetro numDígitosDespuésDeDecimal      especifica el número de espacios luego del decimal que deseamos mostrar.
  • Los parámetros incluirDígitoInicial      , utilizarParéntesisParaNúmerosNegativos y agruparDígitos pueden tener      los valores de -1, 0, -2 según la expresión sea verdadera, falsa o si      queremos usar los valores por default respectivamente.

EJEMPLO:

A través del uso de la función FormatCurrency, creamos una macro que nos permita insertar un valor en formato moneda que represente el precio de un bien con el que estemos trabajando en una hoja de excel. Podemos insertar este precio en una celda o en un rango especificado, en el ejemplo este rango será una columna de precios.

Creamos la macro:

Sub Precio()

Dim PrBien As Double ‘definimos nuestra variable precio de tipo Double

PrBien = 1830,589

Range("A1:A15") = FormatCurrency(PrBien, 4) ‘asignamos el formato de moneda con 4 decimales.

End Sub

Ejecutamos la macro y obtenemos el formato especificado.

6 comentarios

  1. Lo malo es que sigue como formato texto en las celdas

    ¿Y si no quisiera verlo en formato texto?

  2. Simplemente envuelves FormatCurrency(PrBien, 4) con cint(FormatCurrency(PrBien, 4)) y listo.

  3. Buenas tardes mi pregunta se refiere a que estoy haciendo un software y estoy usando una funcion para encontrar variables y me sume los de valor 1 uso esta formula y ya me funciono...
    =si(y(B2>=FechaI,B2<=Fechaf),1,0)
    Y esta hace que la fecha que busco se le ponga un 1 y pueda sumar esas cantidades pero mi problema es que uso una userform como plantilla de ingreso de vehiculos y al poner el precio lo pone con signo de pesos pero con una etiqueta verde como si fuera texto y esto impide que mi funcion sirva y tengo que estarle dando doble click a cada una de las celdas para que el formato cambi como puedo hacer ya que no se nada de codigo vba todo lo he ido a prendiendo pero si podria explicarmelo practicamente cono a un niño de primaria se lo agradeceria gracias

  4. Hola mi pregunta es si solo quiero que sume las celdas que tengan formato de moneda como sería

  5. como mumtiplico un numero normal por ese formato de moneda no me da. me refiero a que aparezca en un textbox

  6. tengo un textbox1 con formato de moneda como precio otro textbox2 como cantidad pero con numero normal, quiero que un textbox3 se realice la multiplicación de ambos automaticamente sin boton, ademas si cambio el valor de textbox1 cambie el valor de textbox3 automaticamente de igual forma con el textbox2. gracias

Deja una respuesta

Los campos requeridos estan marcados con *.