¿Cómo usar la función FormatCurrency en VBA?

La función FormatCurrency en VBA (Visual Basic for Applications) se utiliza para convertir un número a una cadena de texto formateada como un valor de moneda usando la configuración regional del sistema o especificaciones proporcionadas por el usuario. La función permite personalizar el número de decimales, el uso de separador de mil y de decimales, y si mostrar o no los símbolos de moneda negativos.

Aquí hay un ejemplo simple de cómo usar la función FormatCurrency:

VBA

Sub DemoFormatCurrency()
    Dim numero As Double
    numero = 1234.567

    ' Formatea el número como moneda con 2 decimales (por defecto)
    Dim valorComoMoneda As String
    valorComoMoneda = FormatCurrency(numero)
    
    ' Muestra el valor formateado en un cuadro de mensaje
    MsgBox valorComoMoneda
End Sub

El ejemplo anterior convertirá el número 1234.567 en una cadena con formato de moneda, usando la configuración regional del sistema para determinar el símbolo de la moneda y el formato.

Sintaxis completa

VBA

FormatCurrency(Expression, [NumDigitsAfterDecimal], [IncludeLeadingDigit], [UseParensForNegativeNumbers], [GroupDigits])

  • Expression: es el valor numérico que deseas formatear.
  • NumDigitsAfterDecimal: (opcional) es el número de dígitos que deseas mostrar después del separador decimal. Si se omite o se usa -1, usa el valor predeterminado de la configuración regional del sistema.
  • IncludeLeadingDigit: (opcional) especifica si se debe incluir o no un cero para los valores fraccionarios. Puede ser vbTrue, vbFalse o vbUseDefault.
  • UseParensForNegativeNumbers: (opcional) indica si se deben utilizar paréntesis para números negativos. Puede ser vbTrue, vbFalse o vbUseDefault.
  • GroupDigits: (opcional) especifica si se deben agrupar los dígitos con separadores de miles. Puede ser vbTrue, vbFalse o vbUseDefault.

Por ejemplo, si deseas formatear un número con 4 decimales y sin separadores de mil, podrías hacer algo así:

VBA

Sub DemoFormatCurrencyAdvanced()
    Dim numero As Double
    numero = 1234.5678
    
    ' Formatea el número como moneda con 4 decimales y sin separador de miles
    Dim valorComoMoneda As String
    valorComoMoneda = FormatCurrency(numero, 4, vbTrue, vbTrue, vbFalse)
    
    ' Muestra el valor formateado en un cuadro de mensaje
    MsgBox valorComoMoneda
End Sub

El resultado mostrará el número 1234.5678 formateado como valor de moneda con 4 decimales y sin utilizar separador de mil.

Conoce nuestra tienda

Ver más productos

Mejora tu nivel y logra tus objetivo

Excel

Excel cursos

Access

cursos de Access

Power BI

cursos power BI

Ayúdanos a hacer crecer el proyecto

¡Únete a nuestro Grupo de Facebook!

Deja un comentario