Táboa de contidos
A función VBA DateAdd está na categoría de data e hora das funcións VBA de Excel. Usando esta función podemos sumar ou restar anos, meses, días, trimestres e incluso diferentes intervalos de tempo como horas, minutos e segundos dunha data determinada. Tratar a data e a hora nos cálculos diarios para xerar informes ou facer comparacións é un escenario común. En Excel, o uso de funcións de data e hora de VBA como a función DataAdd fai que os cálculos complexos ou lentos sexan máis eficientes e rápidos.
Descargar o libro de prácticas
Descargar este caderno de prácticas para facer exercicio mentres le este artigo.
VBA DateAdd Function.xlsm
Introdución á función de Excel VBA DateAdd
Resultado:
unha data á que se engade ou resta un intervalo de tempo específico
Sintaxe:
DateAdd (intervalo, número, data)
Argumentos:
Argumento | Requirido/Opcional | Descrición |
---|---|---|
intervalo | Requirido | Unha cadea expresión. |
O intervalo de tempo en diferentes configuracións que queremos engadir número Requirido Unha expresión numérica .
O número de intervalos para engadir ou restar
Pode ser positivo – para datas futuras
Poden ser negativas – para datas pasadas data Obrigatorio A data expresión
A data aos que se engaden intervalos
Configuración:
A función DateAdd ten estes intervalos configuración:
Configuración | Descrición |
---|---|
aaaa | Ano |
q | Trimestre |
m | Mes |
y | Ano do día |
d | Día |
w | Día da semana |
ww | Semana |
h | Hora |
n | Minuto |
s | Segundo |
Exemplos de a función Excel VBA DateAdd
Expresións de fórmulas da función Excel DateAdd
Hai diferentes formas de poñer a data argumento na función DateAdd. Todos dan como resultado a mesma saída.
Insira o seguinte código no Editor de Visual Basic:
(Como para executar código no Editor de Visual Basic)
5961
Explicación :
DateAdd(“aaaa”,2, un dos seguintes métodos)
Para poñer o argumento da data podemos usar diferentes métodos:
- #1/1/2011 #
- DataSerial( ano , mes, día)
- DateValue( data )
- Intervalo (“célula”) – Data almacenada nunha cela
- Almacenamento da data nunha celavariable
Nas celas D3, D4, D5, D6, D7 poñemos os métodos anteriores como o argumento data do DateAdd funciona secuencialmente e obtivo o mesmo resultado.
Engadimos 2 anos máis ao 1/1/2022 o que resultou en 1/1/2024.
Aquí,
aaaa representa o ano como intervalo
2 representa o no de intervalos como número .
Axuda: Como executar código no Editor de Visual Basic
Sigue os pasos:
- Desde a Cinta de Excel , vai á Pestaña Desenvolvedor e selecciona a pestana Visual Basic .
- Na nova ventá, faga clic na pestana Inserir e escolla Módulo.
- Escriba o seu código no editor e prema F5 para executar.
Engadir configuracións de intervalos diferentes usando a función DataAdd en Excel
1. Engadir ano
Código:
3827
Resultado: 2 anos engadido a 1/1 /2022 (mm/dd/aaaa) e resultou en 1/1/2024 (mm//dd/aaaa).
Ler máis: Como usar a función de ano en Excel VBA
2. Engadir trimestre
Código:
7581
Resultado: 2 trimestre = 6 meses engadido a 1/01/2022 (dd/mm/aaaa) e resultou en 1/7/2022 (dd/mm/aaaa).
3. Engadir mes
Código:
7788
Resultado: 2 meses engadida a 1/1/2022 (mm/dd/aaaa) e resultou en 3/1/2022 (mm//dd/aaaa).
Ler máis: Como usar a función Excel VBA MES
4. Engadir día do ano
Código:
5467
Resultado : 2 día do ano engadido a 1/1/2022 (mm/dd/aaaa) e resultou en 1/3/2022 (mm//dd/aaaa).
Ler máis: Como usar a función de día en Excel VBA
5. Engadir día
Código:
8725
Resultado : 2 días engadidos a 1/1 /2022 (mm/dd/aaaa) e resultou en 1/3/2022 (mm//dd/aaaa).
Lecturas similares
- Excel VBA para atopar o número de semana (6 exemplos rápidos)
- Como usar a función DatePart de VBA en Excel (7 exemplos)
- Usar a función VBA DateSerial en Excel (5 aplicacións sinxelas)
- Como converter a data dunha cadea usando VBA ( 7 Camiños)
6. Engadir día laborable
Código:
9897
Resultado: 10 días laborables engadidos a 1/1 /2022 (mm/dd/aaaa) e resultou en 1/11/2022 (mm//dd/aaaa).
7. Engadir semana
Código:
5490
Resultado: 2 semanas= 14 días engadidos a 1/1/2022 (dd/mm/aaaa) e resultou en 15/01/2022 (dd/mm/aaaa).
Ler máis: Como obter o día da semana usando VBA
8. Engadir hora
Código:
1897
Resultado: 14Horas engadidas a 1/1/2022 00:00 (dd/mm/aaaa: hh/mm) e resultou en 1/01/2022 14:00 (mm//dd/aaaa : hh/mm).
9. Engadir minuto
Código:
5013
Resultado : 90 minutos= 1,30 horas engadidas a 01/01/2022 01:00 (dd/mm/aaaa) e resultou en 1/01/2022 01:30 (dd/mm/aaaa).
10. Engadir segundo
Código:
6974
Resultado: 120 segundos = 2 minutos engadidos a 01/01/2022 00:00 (dd/mm/aaaa : hh/mm) e resultou en 1/01/2022 00:02 (dd/mm/aaaa : hh /mm).
Uso da función DataAdd en Excel para restar Diferentes configuracións de intervalos
Do mesmo xeito, podemos resta anos, meses, días, horas, minutos, etc. dunha data usando un signo menos na fronte do argumento número . Por exemplo:
Código:
4494
Resultado: 2 anos restados de 1/1/2022 (mm/ dd/aaaa) e resultou en 1/1/2020 (mm//dd/aaaa).
Cousas para recordar
- Cando usamos 'w' para engadir días laborables súmase todos os días da semana incluídos sábados e domingos , non só os días laborables (alguén podería esperar).
- A función DataAdd non acaba mostrando unha data non válida . Por exemplo, se engadimos 1 mes ao 31 de xaneiro de 2022, resultará o 28 de febreiro de 2022, non o 31 de febreiro de 2022 (non existe).
- Se restamos máisDentro de 122 anos produciríase un erro porque a data de Excel comeza a partir do 1 de xaneiro de 1990.
- A data de devolución da DataAdd. A función depende da Configuración da data do panel de control.
- Deberíamos o argumento da data da función Engadir data segundo a Propiedade do calendario . Se o calendario é gregoriano , o argumento da te de entrada tamén debería estar en gregoriano . Do mesmo xeito, se o calendario está en Hijri, o argumento da data debe estar no mesmo formato.
Conclusión
Agora, sabemos como usar o VBA. Función DataAdd en Excel. Con sorte, animaríache a usar esta función con máis confianza. Calquera dúbida ou suxestión non esquezas poñelas na caixa de comentarios a continuación