Excel Avanzado

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

Excel Avanzado
Logo Excel Avanzado

Función NumberFormat

| 0 comments

¿Qué es NUMBERFORMAT en VBA?

Numberformat es una función de VBA que nos permite modificar el formato de una fecha devolviendo un valor string* de la misma, de acuerdo a nuestro requerimientos.

Por ejemplo en excel usualmente el formato de fecha que aparece por default es “dd-mm-yyy”, pero usando el numberformat en VBA podemos obtener los siguientes resultados:

  • “mm-dd-yyyy”
  • “ddd-mm-yyyy”
  • “mmm-yyyy”
  • “ddd-mmm-yyyy”, etc.

Los formatos de fecha que podemos obtener oscilan entre los siguientes parámetros de acuerdo al lenguaje de referencia en VBA:

Años:

yyyy: aparecen los 4 dígitos del año

yy: aparecen los 2 últimos dígitos

Mes:

m: aparecen los números de los meses, en los casos del 1 al 9 aparece sin el cero adelante.

mm: aparece el número asignado al mes (del 1 al 12)

mmm: aparece la breviatura del nombre del mes (ejemplo: Abr)

mmmm: aparece el nombre completo del mes.

mmmmm: aparece la primera letra del nombre del mes (ejemplo: en el caso de Mayo aparece M)

Día:

d: aparecen los números de los días, en el caso del 1 al 9 sin el cero adelante.

dd: aparece los números de los días, del 1 al 31

ddd: aparece la abreviatura dle nombre del día (ejemplo: Lu)

dddd: aparece el nombre completo del día

En síntesis podemos obtener diferentes formatos de fecha dependiendo de lo que necesitemos.

*string: hace referencia a un tipo de variable que contiene texto.

 

Ejemplo de uso de NUMBERFORMAT en VBA

  1. Tenemos una base de datos con los nombres de 10 personas y sus dìas de nacimiento en el formato “dd-mm-yy”:
  2. Ingresamos a la ventana de VBA y digitamos lo siguiente:

Sub formatDates()
Dim ultmfila As Long
ultmfila = Hoja1.Cells(Rows.Count, 1).End(xlUp).Row
‘MsgBox ultmfila
For i = 2 To ultmfila
‘Cells(i, 2).NumberFormat = (“mm-dd-yyyy”)
‘Cells(i, 2).NumberFormat = (“ddd-mmm-yyyy”)
‘Cells(i, 2).NumberFormat = (“dd-mm-yyyy”)
‘Cells(i, 2).NumberFormat = (“mmm-yyyy”)
‘Cells(i, 2).NumberFormat = (“dd-yyyy”)
Cells(i, 2).NumberFormat = (“yyyy-mmmmm-dd”)
Next i
End Sub

Los comandos dim y as long nos permiten reconocer la dimensión de la tabla y reconocer hasta donde se tiene información. Luego con for indicamos a partir de donde queremos que se ejecuten los siguientes comandos (i=2 indica a partir de la segunda fila).

Los siguientes son ejemplos de los resultados de las fechas que salen ejecutando las diferentes filas:

Por: Priscila Condori

Descargar el ejemplo en Excel: Ejemplo NumberFormat

Deja un comentario

Required fields are marked *.


Excel Avanzado located at , Lima, Perú . Reviewed by usuarios rated: 4.7 / 5