CREAR UNA FECHA CON DATESERIAL EN VBA

Hola a todos:

En muchas ocasiones cuando estamos programando en VBA necesitamos crear o componer fechas a partir de columnas independientes en las que se guardan años, meses y días, por ejemplo:

CREAR UNA FECHA CON DATESERIAL EN VBA

Esto lo podemos hacer de dos formas, o bien componemos la fecha y aplicamos formato fecha con la función CDate o bien lo hacemos con DateSerial:

En este código ejecutaremos las dos formas:

Option Explicit
Sub CREAR_FECHA()
'Declaramos variables
Dim Fin As Long, i As Long
With Sheets("Hoja1")
Fin = Application.CountA(.Range("A:A"))
'con un for vamos realizando los cálculos
For i = 2 To Fin
'Componemos fecha y formateamos con Cdate
.Cells(i, 4) = CDate(.Cells(i, 1) & "/" & .Cells(i, 2) & "/" & .Cells(i, 3))
'Componemos fecha con dateserial
.Cells(i, 5) = DateSerial(.Cells(i, 1), .Cells(i, 2), .Cells(i, 3))
Next i
End With
End Sub

Aunque en la práctica el resultado será el mismo, siempre es interesante realizarlo con DateSerial, dado que nos permitirá posteriormente realizar modificaciones en las fechas, como añadir o restar días, meses o años, además de ser más eficiente que la primera.

La función DateSerial, compone la fecha indicando (Año, Mes, Día).

El resultado es el mismo:

CREAR UNA FECHA CON DATESERIAL EN VBA_1

Y eso es todo, espero que os haya resultado útil.

Descarga el archivo de ejemplo pulsando en: CREAR UNA FECHA CON DATESERIAL EN VBA

¿Te ha resultado de interés?, puedes apoyar a Excel Signum con una pequeña donación.

Donate Button with Credit Cards

¡¡Muchas gracias!!

Mediante la suscripción al blog, la realización comentarios o el uso del formulario de contacto estás dando tu consentimiento expreso al tratamiento de los datos personales proporcionados según lo dispuesto en la ley vigente (LOPD). Tienes más información al respecto en esta página del blog: Política de Privacidad y Cookies

Anuncios

¿Te ha gustado?, Realiza un comentario.

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.