¿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.

Para utilizar `FormatCurrency` en VBA, puedes seguir estos pasos:

  • Abre el editor de VBA presionando `ALT` + `F11` en Excel.
  • Inserta un nuevo módulo o utiliza uno existente en el proyecto.
  • Ingresa una subrutina o función para usar `FormatCurrency`.

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

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.

La sintaxis completa de la función es:

FormatCurrency(Expression[, NumDigitsAfterDecimal As Integer = -1[, IncludeLeadingDigit As TriState = TriState.True[, UseParensForNegativeNumbers As TriState = TriState.True[, GroupDigits As TriState = TriState.True]]]])

Donde:

  • `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í:

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

Deja un comentario