Ya hemos repasado qué son las variables, los tipos de datos y las constantes en nuestro tutorial Tipos de datos de VBA: variables y constantes. En este tutorial, cubriremos cómo declarar una variable como fecha.
En VBA, el tipo de datos de fecha se almacena como decimal. Tanto las fechas como las horas se pueden almacenar en este tipo de datos. El tipo de datos de fecha de VBA puede almacenar valores que van desde el 1 de enero de 100 hasta el 31 de diciembre de 9999.
Variable de fecha de VBA
Declaras una variable como una fecha usando la palabra clave Dim:
1 | Dim dateOne como fecha |
Luego, puede asignar una fecha a la variable de fecha. Hay varias formas de generar fechas para asignarlas a variables:
Asignar hoy a variable
La función de fecha devolverá la fecha de hoy:
123 | Dim dtTodaydtToday = Fecha |
Asignar ahora a variable
La función Now devolverá la fecha de hoy y la hora actual:
123 | Dim dNowdNow = Ahora |
Asignar tiempo a variable
La función de hora devolverá la hora actual:
123 | Dim tTimetTime = Hora |
Asignar una fecha a la variable con DateSerial
La función DateSerial devolverá una fecha basada en un año, mes y día de entrada:
123 | Dim dsDatedsDate = DateSerial (2010, 11, 11) |
Asignar un tiempo a la variable con TimeSerial
La función TimeSerial devolverá una hora, basada en una hora, minuto y segundo de entrada:
123 | Dim tsTimetsTime = TimeSerial (10, 10, 45) |
Debe incluir las fechas con # o ”cuando las use en su código, como se muestra a continuación:
Función VBA DateValue
La función VBA DateValue se puede utilizar para inicializar una fecha. El siguiente código se puede usar para inicializar una fecha en VBA:
1 | MsgBox DateValue ("1/1/2010") |
Función VBA TimeValue
1 | MsgBox TimeValue ("21:30:57") |
Ejemplo de variable de fecha de Excel VBA
Este procedimiento demuestra cómo crear variables de fecha, asignarles valores y enviarlos a una hoja de cálculo de Excel:
12345678910111213 | SubdeclararAVariableAsADate ()Dim dateOne como fechaDim date Dos como fechadateOne = # 1/1/2019 #dateTwo = "1/2/2019"Rango ("A1"). Valor = dateOneRango ("A2"). Valor = fechaDosEnd Sub |
El resultado es:
Puede obtener más información sobre las funciones de fecha en este tutorial.
Variable de fecha de VBA en el acceso
La variable de fecha funciona exactamente igual en Access VBA que en Excel VBA.
Este procedimiento demuestra cómo crear una variable de fecha y actualizar un campo en una tabla de acceso con el valor.
12345 | SubdeclararAVariableAsADate ()Dim dtTrabajo como fechadtWork = # 10/05/2020 #DoCmd.RunSql "ACTUALIZAR tblJobs SET WorkDate = #" & dtWork & "# WHERE JobNo = 6"End Sub |