Format Date en VBA
Para comenzar, considero que es necesario mencionar que se puede cambiar el formato de una celda o rango dirigiéndonos a Inicio -> Número y cambiamos la opción General por Fecha corta o Fecha larga, la que deseemos. Sin embargo, para grandes cantidades de datos, este método ya no es útil por el tiempo que nos tomaría realizar. Es por ello, que es posible usar el Formato Fecha en VBA mediante dos métodos.
Imagen 1
El primer método es usando Cells(x,y).NumberFormat = “…”. Con este método es posible automatizar el proceso de cambio de formato de gran cantidad de datos, empleando otros conceptos aprendidos anteriormente. Cabe mencionar que el Cells(x,y) puede reemplazarse por Range(“…”), es decisión del usuario cuál emplear.
A continuación, se presentarán las siguientes imágenes para ejemplificar el uso de este método en VBA.
Se esta usando condicionales para que se pueda observar los distintos formatos que se pueden asignar a una fecha.
Imagen 4: el día y mes en el formato de la fecha intercambiaron de lugar
Como se observa en la imagen 4, como el formato que nosotros quisimos darle fue “mm/dd/yyyy”, el día y el mes de la fecha cambiaron de lugar. El usuario optará por cuál formato de fecha deseará emplear para su base de datos.
Format en VBA
El segundo método es empleando la función Format. La sintaxis de la función mencionada es Format(Expression, [Format], [FirstDayOfWeek], [FirstWeekOfYear])
Los parámetros de la función ya mencionada son los siguientes:
Expression: es el valor al cuál se le cambiará el formato.
Format: es el formato elegido por el usuario que se le asignará a la expresión seleccionada. Colocar esto dentro de la función es opcional. Para este parámetro, el usuario puede optar por un formato propio (como se observó con el método 1) o puede elegir un formato ya definido por Excel. A continuación, se presentará una lista de formatos ya definidos:
• General Date
• Long Date
• Medium Date
• Short Date
• Long Time
• Medium Time
• Short Time
Es necesario mencionar que el resultado de elegir uno de los 3 últimos formatos ya definidos será en horas. Se presentará las siguientes imágenes para mostrar las diferencias entre los formatos ya establecidos por Excel:
Imagen 5: se elabora y ejecuta la siguiente macro para observar las diferencias
Imagen 6: diferencias entre los formatos
Como se puede observar el General Date y Short Date son iguales, por lo que el uso de uno o el otro es indistinto.
Los demás parámetros de la función Format son los siguientes:
FirstDayOfWeek: es un valor que será el que especifique el primer día de la semana. En el caso de que no se coloque el parámetro, Excel asumirá que el primer día de la semana es domingo.
Este parámetro puede ser uno de los siguientes valores:
FirstWeekOfYear: es un valor que será el que especifique la primera semana del año. Si este parámetro no se toma en cuenta, entonces Excel asumirá que la primera semana del año será el que contenga al primer día de enero.
Este parámetro puede ser uno de los siguientes valores:
Artículo realizado con la ayuda de Braitsan Flores