Número de formato de Excel VBA

VBA viene con una función incorporada para formatear números. El nombre de esa función incorporada es "Número de formato". Esta función formatea el número específico en un formato requerido por el usuario.
Antes de continuar, primero comprendamos qué es el formato de números. El formato de número básicamente significa que el número específico debe mostrarse de una manera particular. Por ejemplo, si desea ver un número específico en términos de dos puntos decimales (150.55) o desea ver el mismo número en términos de ningún punto decimal (150). Estos son solo ejemplos. Básicamente, podemos clasificar estos formatos de número en cuatro categorías.

  • Puntos decimales
  • Números negativos entre paréntesis
  • Dígitos iniciales
  • Dígitos del grupo

Vamos a aprender todos los formatos en VBA con la ayuda de ejemplos. Pero primero, echemos un vistazo a la sintaxis de la función VBA para el número de formato.

Entonces, como puede ver la sintaxis de la función VBA para el número de formato en la captura de pantalla anterior, vamos a dividir esa función y comprender cada parte de la función.

  1. Expresión: Como puede ver, la primera parte de la función es una expresión que no es más que el número que queremos formatear.
  2. Num dígito después del decimal: la segunda parte de la función solicita el número de dígitos del número que desea ver después del punto decimal.
  3. Dígito inicial: esto es útil cuando el número está entre -1 y 1, lo que significa que el número es mayor que -1 y menor que 1. Por ejemplo, 0.25.

Entonces, si desea ver el valor cero antes del punto decimal, debe insertar el argumento en la función como VERDADERO o -1. El resultado será 0.55.

Pero si inserta el valor en el argumento como FALSO o 0, el resultado será .55.

  1. Usar padre para números negativos : esta parte se usa para números negativos. Si desea ver los números negativos en un paréntesis, debe dar un argumento como VERDADERO o -1 y el resultado será (156). Pero cuando proporciona el argumento como FALSO o 0, el resultado será -156.
  2. Dígitos de grupo : esta es la última parte de la función que se utiliza para los miles de separadores. Entonces, si desea ver los números con un separador de mil, debe proporcionar el argumento como VERDADERO o -1 y el resultado será 52, 000. Pero si proporciona el mismo argumento que FALSE o 0, el resultado será como 52000.

¿Cómo formatear el número usando el código VBA?

Ahora que comprende las diferentes formas de Formato de número y la función incorporada VBA del formato de Número, podemos seguir adelante y ver cómo podemos usar esto con la ayuda de ejemplos.

Puede descargar esta plantilla Excel de número de formato VBA aquí - Plantilla Excel de número de formato VBA

Antes de pasar a los ejemplos, siga los pasos básicos a continuación si es nuevo en la macro VBA. Puede insertar los siguientes códigos en el módulo VBA.

Paso 1: Cree un nombre de macro que sea la primera línea del código como puede ver en la captura de pantalla.

Paso 2: Declare una de las variables como String porque el resultado dado por la función de número de formato VBA es String.

Código:

 Sub Format_Number_Example1 () Dim MyNum As String End Sub 

Ahora podemos seguir con nuestros ejemplos.

Puntos decimales - Ejemplo # 1

Supongamos que estamos trabajando con el número 56456 y desea ver dos números después del punto decimal.

Paso 1: en el código, puede agregar la función incorporada de VBA como se muestra a continuación.

Mynum = número de formato (

Paso 2: Como sabes, el primer paso de la función es la expresión, que no es más que el número que deseas formatear. 56456 en nuestro caso.

Mynum = número de formato (56456,

Paso 3: El siguiente paso es Numdigitafterdecimal, que no es más que el número de dígitos que desea ver después del punto decimal que es 2 en nuestro caso.

Código:

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

Paso 4 : El siguiente paso es mostrar el número en un cuadro de mensaje. VBA tiene una función incorporada para mostrar el valor en un cuadro de mensaje que es MSGBOX.

Por lo tanto, solo necesita insertar el siguiente código después de insertar la función de Número de formato para MyNum.

Código:

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

Como puede ver, la última línea en el código es End Sub, lo que significa que el código VBA para la macro termina después de eso.

Paso 6: a medida que finaliza la codificación del número de formato, puede ejecutar la macro y puede ver el resultado a continuación después de ejecutar la macro.

Mil separadores - Ejemplo # 2

Ahora suponga que con el mismo ejemplo, necesitamos mostrar el mismo número 56456 con mil separadores. En ese caso, debemos dar el último argumento como "vbTrue" como se muestra en la siguiente captura de pantalla.

Código:

Sub Format_Number_Example2 ()

Dim MyNum como cadena

MyNum = FormatNumber (56456, 2,,, vbTrue)

MsgBox MyNum

End Sub

Después de ejecutar la macro, podrá ver el resultado a continuación.

Si selecciona "vbFalse" como último argumento, el número no se mostrará como separador de miles.

Mostrar número negativo entre paréntesis - Ejemplo # 3

Suponga que el mismo número 56456 en el ejemplo anterior es negativo y necesita mostrar los números negativos entre corchetes, entonces el cuarto argumento en la función debería ser "vbTrue" como se muestra en la captura de pantalla siguiente.

Código:

 Sub Format_Number_Example3 () Dim MyNum As String MyNum = FormatNumber (-56456, 2,, vbTrue, vbTrue) MsgBox MyNum End Sub 

Como puede ver, el cuarto y quinto argumento en el código son "vbTrue", lo que significa que el formato para el número negativo (cuarto argumento) y el formato para mil separadores (quinto argumento) son verdaderos. Entonces verá el número negativo dentro de un paréntesis y con Mil Separadores como se muestra en la siguiente captura de pantalla.

Formateo para número entre -1 y 1 - Ejemplo # 4

Suponga que el número es 0.567, que está entre -1 y 1, entonces tiene dos opciones para formatear el número. La primera opción es mostrar cero antes del punto decimal o no mostrar cero antes del punto decimal.

Si elige la opción para mostrar cero antes del punto decimal, entonces debe proporcionar el tercer argumento en la función como "vbTrue" como se muestra en la siguiente captura de pantalla.

Código:

 Sub Format_Number_Example4 () Dim MyNum As String MyNum = FormatNumber (0.567, 2, vbTrue, vbTrue, vbTrue) MsgBox MyNum End Sub 

Podrá ver el resultado a continuación después de ejecutar el código de macro.

Como puede ver, el resultado muestra solo dos dígitos después del punto decimal porque solo proporcionamos 2 como segundo argumento en la función.

Si selecciona el tercer argumento como "vbFalse" como se muestra en la siguiente captura de pantalla.

Código:

 Sub Format_Number_Example5 () Dim MyNum As String MyNum = FormatNumber (0.567, 2, vbFalse, vbTrue, vbTrue) MsgBox MyNum End Sub 

Entonces no verá el cero antes del punto decimal como se muestra en la siguiente captura de pantalla.

Cosas para recordar

  • La función VBA FormatNumber tiene 5 argumentos, así que asegúrese de proporcionar los argumentos correctos en el orden de la función. Tenemos que seguir el orden de la función, no hay otra salida.
  • Si mantiene cualquiera de los argumentos en blanco, considerará automáticamente la opción predeterminada de VBA.
  • Tenga cuidado con los argumentos vbTrue y vbFalse para los últimos tres argumentos para el formato de números.
  • Para el primer argumento, que es la expresión, también puede proporcionar la referencia de celda en la hoja de Excel en lugar de cualquier número.

Artículos recomendados

Esta es una guía para el número de formato VBA. Aquí discutimos cómo formatear números en Excel usando el código VBA junto con ejemplos prácticos y una plantilla de Excel descargable. También puede consultar nuestros otros artículos sugeridos.

  1. ¿Cómo usar la función VBA TRIM?
  2. Matrices de VBA | Tutorial completo
  3. ¿Cómo usar el VBA Select Case?
  4. Función de búsqueda de Excel VBA

Categoría: