¿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
- Tenemos una base de datos con los nombres de 10 personas y sus dìas de nacimiento en el formato “dd-mm-yy”:
- 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
2 comentarios
Escriba un comentario →