Número de formato de VBA

La función de formato en VBA se usa para formatear los valores dados en el formato deseado, esta función tiene básicamente dos argumentos obligatorios, uno es la entrada que se toma en forma de cadena y el segundo argumento es el tipo de formato que queremos usar por ejemplo, si usamos Formato (.99, "Porcentaje") esto nos dará el resultado como 99%.

Número de formato en VBA Excel

VBA está muy por delante de las funciones regulares de Excel. VBA tiene muchas de sus propias funciones integradas, al igual que tenemos más de 500 funciones en la hoja de trabajo. Una de esas fórmulas en VBA es "Número de formato".

Sí, lo escuchaste bien, tenemos una función llamada "FormatNumber" en VBA. En este artículo, haremos un recorrido completo de esta función exclusivamente.

¿Cómo formatear números con VBA NumberFormat?

Como dice el nombre de la función, formateará el número dado de acuerdo con las instrucciones de formato dadas por el usuario.

El formato de números no es más que agregar puntos decimales, encerrar números negativos entre paréntesis, mostrar ceros a la izquierda para valores decimales, etc. Usando la función VBA  FormatNumber podemos aplicar estilo de formato a los números con los que trabajamos. A continuación se muestra la sintaxis de la función

  • Expresión: no es más que el número que necesitamos formatear.
  • Núm dígitos después del decimal: cuántos dígitos desea para la posición de los decimales para el lado derecho del número.
  • Incluir dígito inicial: el dígito inicial no es más que dígitos antes de que comience el número. Esto es aplicable para valores menores que 1 pero mayores que -1.
    • Si desea mostrar cero antes del valor decimal, puede pasar el argumento como TRUE o -1 y el resultado será. "0.55"
    • Si no desea mostrar cero antes del valor decimal, puede pasar el argumento como FALSO o 0 y el resultado será ".55"
    • Por defecto, el valor será -2, es decir, la configuración regional de la computadora.
  • Use padres para números negativos: si desea mostrar los números negativos entre paréntesis, puede pasar el argumento como VERDADERO o -1 y el resultado será. "(255)"
    • Si desea mostrar los números negativos sin paréntesis, puede pasar el argumento como FALSO o 0 y el resultado será. "-255"
  • Dígitos de grupo: si desea agregar un separador de mil o no. Si es TRUE o -1 es el argumento, si no es FALSE o 0 es el argumento. De forma predeterminada, el valor es -2, es decir, igual a la configuración regional del equipo.

Ejemplos de la función FormatNumber de Excel VBA

Veremos los ejemplos prácticos de la función Número de formato de Excel VBA. Realizaremos todos y cada uno de los argumentos por separado.

Para ello, cree el nombre de la macro y declare una de las variables como una cadena. La razón por la que necesitamos declarar la variable como una cadena porque el resultado dado por la función de VBA FormatNumber es solo una cadena.

Puede descargar esta Plantilla de función de número de formato VBA aquí - Plantilla de función de número de formato VBA

Código:

 Sub Format_Number_Example1 () Dim MyNum As String End Sub 

Ejemplo # 1 - Agregar puntos decimales delante del número

Paso # 1 - Suponga que hemos estado trabajando con el número 25000 y necesitamos formatearlo y agregar puntos decimales a la derecha del número. Asignar un valor a nuestra variable.

Código:

 Sub Format_Number_Example1 () Dim MyNum As String MyNum = FormatNumber (End Sub 

Paso # 2 -  Primero está la expresión, es decir, cuál es el número que necesitamos formatear, entonces nuestro número es 25000.

Código:

 Sub Format_Number_Example1 () Dim MyNum As String MyNum = FormatNumber (25000, End Sub 

Paso # 3 - El  siguiente es cuántos dígitos necesitamos agregar, es decir, 2 dígitos.

Código:

 Sub Format_Number_Example1 () Dim MyNum As String MyNum = FormatNumber (25000, 2) End Sub 

Paso # 4:  muestra el valor de la variable en el cuadro de mensaje de VBA.

Código:

 Sub Format_Number_Example1 () Dim MyNum As String MyNum = FormatNumber (25000, 2) MsgBox MyNum End Sub 

Paso # 5 -  El resultado de esta macro es así.

Podemos ver dos decimales a la derecha del número.

Ejemplo n. ° 2 - Número de grupo, es decir, separador de miles

Para el mismo número, podemos agregar o eliminar mil separadores. Si queremos mostrar mil separadores, entonces debemos seleccionar vbTrue para el último argumento.

Código:

 Sub Format_Number_Example1 () Dim MyNum As String MyNum = FormatNumber (25000, 2``, vbTrue) MsgBox MyNum End Sub 

Esto arrojará el resultado de esta manera.

Ahora, si seleccionamos vbFalse , no obtendremos mil separadores.

Código:

 Sub Format_Number_Example1 () Dim MyNum As String MyNum = FormatNumber (25000, 2``, vbFalse) MsgBox MyNum End Sub 

El resultado de este código como este.

Si selecciono vbUseDefault obtenemos el resultado según la configuración del sistema. A continuación se muestra el resultado de esto.

Entonces, la configuración de mi sistema tiene mil separadores por defecto.

Ejemplo n. ° 3 - Incluya paréntesis para números negativos

Si tenemos el número negativo, podemos mostrar el número negativo entre paréntesis. Debemos seleccionar vbTrue en "Use Parents for Negative Numbers".

Código:

 Sub Format_Number_Example1 () Dim MyNum As String MyNum = FormatNumber (-25000, 2`` vbTrue) MsgBox MyNum End Sub 

Ahora el resultado es como este.

Si seleccionamos vbFalse obtendremos un número negativo con un signo menos.

Código:

 Sub Format_Number_Example1 () Dim MyNum As String MyNum = FormatNumber (-25000, 2`` vbFalse) MsgBox MyNum End Sub 

Ahora el resultado es como este.