Obsah
Na stránkách Funkce VBA DateAdd patří do kategorie datum a čas v aplikaci Excel. Funkce VBA . Pomocí této funkce můžeme od daného data přičítat nebo odečítat roky, měsíce, dny, čtvrtletí a dokonce i různé časové intervaly, jako jsou hodiny, minuty, sekundy. Práce s datem a časem v každodenních výpočtech pro vytváření sestav nebo porovnávání je běžným scénářem. V Excelu se díky použití funkcí VBA pro datum a čas, jako je funkce DateAdd, složité nebo časově náročné výpočtyefektivnější a rychlejší.
Stáhněte si cvičebnici
Stáhněte si tento cvičební sešit a procvičujte si při čtení tohoto článku.
Funkce VBA DateAdd.xlsmÚvod do funkce DateAdd aplikace Excel VBA
Výsledek:
datum, ke kterému se přičítá nebo odečítá určitý časový interval.
Syntaxe:
DateAdd (interval, číslo, datum)
Argumenty:
Argument | Povinné/volitelné | Popis |
---|---|---|
interval | Požadované | A řetězec vyjádření. |
Časový interval v různých nastaveních, který chceme přidat číslo Požadované A číselné výraz .
Na stránkách číslo z intervaly k přičtení nebo odečtení
Může být pozitivní - pro budoucnost data
Může být negativní - pro minulost data datum Požadované A datum výraz
Na stránkách datum na které se intervaly jsou přidáno
Nastavení:
Na stránkách Funkce DateAdd má tyto nastavení intervalu:
Nastavení | Popis |
---|---|
yyyy | Rok |
q | Čtvrtletí |
m | Měsíc |
y | Rok dne |
d | Den |
w | Všední den |
ww | Týden |
h | Hodina |
n | Minutka |
s | Druhý |
Příklady funkce DateAdd aplikace Excel VBA
Výrazy vzorce funkce DateAdd aplikace Excel
Existují různé způsoby, jak umístit datum argument do Funkce DateAdd. Všechny vedou ke stejnému výstupu.
Vložte následující kód v Editor Visual Basic:
(Jak spustit kód v editoru Visual Basic)
Sub add_year() Range("D3") = DateAdd("yyyy", 2, #1/1/2022#) Range("D4") = DateAdd("yyyy", 2, DateSerial(2022, 1, 1)) Range("D5") = DateAdd("yyyy", 2, DateValue("1. ledna 2022")) Range("D6") = DateAdd("yyyy", 2, Range("B6")) End Sub
Vysvětlení :
DateAdd("yyyy",2, jeden z následujících způsobů)
Pro vložení argumentu datum můžeme použít různé metody:
- #1/1/2011#
- DateSerial( rok , měsíc, den)
- DateValue( datum )
- Rozsah ("cell") - Datum uložené v buňce
- Uložení data do proměnné
V buňkách D3, D4, D5, D6, D7 vložíme výše uvedené metody jako datum argumentu DateAdd a získal funkci stejný výsledek.
Přidali jsme 2 více let na 1/1/2022 což vedlo k tomu, že 1/1/2024.
Zde,
yyyy představuje rok jako interval
2 představuje počet intervalů jako číslo .
Nápověda: Jak spustit kód v editoru Visual Basicu
Postupujte podle následujících kroků:
- Z Pás karet aplikace Excel , přejděte na Karta Vývojář a vyberte Visual Basic Tab.
- V novém okně klikněte na Vložte a vyberte možnost Modul.
- Napište svůj kód v editoru a stiskněte F5 na běh.
Přidání různých nastavení intervalů pomocí funkce DateAdd v aplikaci Excel
1. Přidat rok
Kód:
Sub DateAdd_Years() Range("F5") = DateAdd("yyyy", 2, Range("D5") End Sub
Výsledek: 2 roky přidáno do 1/1/2022 (mm/dd/rrrr) a výsledkem bylo. 1/1/2024 (mm//dd/rrrr).
Přečtěte si více: Jak používat funkci Year v aplikaci Excel VBA
2. Přidat čtvrtletí
Kód:
Sub DateAdd_Quarters() Range ("F5") = DateAdd("q", 2, Range("D5")) End Sub
Výsledek: 2 čtvrtletí = 6 měsíců přidáno do 1/1/2022 (mm/dd/rrrr) a výsledkem bylo. 7/1/2022 (mm//dd/rrrr).
3. Přidat měsíc
Kód:
Sub DateAdd_Months() Range("F5") = DateAdd("m", 2, Range("D5")) End Sub
Výsledek: 2 měsíce přidáno do 1/1/2022 (mm/dd/rrrr) a výsledkem bylo. 3/1/2022 (mm//dd/rrrr).
Přečtěte si více: Jak používat funkci Excel VBA MĚSÍC
4. Přidat den v roce
Kód:
Sub DateAdd_DayOfYear() Range("F5") = DateAdd("y", 2, Range("D5")) End Sub
Výsledek : 2 přidané dny v roce na 1/1/2022 (mm/dd/rrrr) a výsledkem bylo. 1/3/2022 (mm//dd/rrrr).
Přečtěte si více: Jak používat funkci Den v aplikaci Excel VBA
5. Přidat den
Kód:
Sub DateAdd_Day() Range("F5") = DateAdd("d", 2, Range("D5")) End Sub
Výsledek: přidány 2 dny na 1/1/2022 (mm/dd/rrrr) a výsledkem bylo. 1/3/2022 (mm//dd/rrrr).
Podobná čtení
- Excel VBA pro vyhledání čísla týdne (6 rychlých příkladů)
- Jak používat funkci DatePart ve VBA v aplikaci Excel (7 příkladů)
- Použití funkce VBA DateSerial v aplikaci Excel (5 jednoduchých aplikací)
- Jak převést datum z řetězce pomocí VBA (7 způsobů)
6. Přidání dne v týdnu
Kód:
Sub DateAdd_WeekDay() Range("F5") = DateAdd("w", 10, Range("D5") End Sub
Výsledek: Přidáno 10 WeekDays na 1/1/2022 (mm/dd/rrrr) a výsledkem bylo. 1/11/2022 (mm//dd/rrrr).
7. Přidat týden
Kód:
Sub DateAdd_Weeks() Range("F5") = DateAdd("ww", 2, Range("D5")) End Sub
Výsledek: 2 týdny = 14 dní navíc na 1/1/2022 (mm/dd/rrrr) a výsledkem bylo. 1/15/2022 (mm//dd/rrrr).
Přečtěte si více: Jak získat den v týdnu pomocí VBA
8. Přidat hodinu
Kód:
Sub DateAdd_Hours() Range("F5") = DateAdd("h", 14, Range("D5")) End Sub
Výsledek: 14 přidaných hodin na 1/1/2022 12:00 (mm/dd/rrrr: hh/mm) a výsledkem bylo. 1/1/2022 14:00 (mm//dd/rrrr : hh/mm).
9. Přidat minutu
Kód:
Sub DateAdd_Minutes() Range("F5") = DateAdd("n", 90, Range("D5")) End Sub
Výsledek: 90 minut = 1,30 hodiny navíc na 1/1/2022 12:00 (mm/dd/rrrr) a výsledkem bylo. 1/1/2022 1:30 HOD. (mm//dd/rrrr).
10. Přidat druhý
Kód:
Sub DateAdd_Seconds() Range("F5") = DateAdd("s", 120, Range("D5")) End Sub
Výsledek: 120 sekund = 2 přidané minuty na 1/1/2022 12:00 (mm/dd/rrrr : hh/mm) a výsledkem bylo. 1/1/2022 12:02 (mm//dd/rrrr : hh/mm).
Použití funkce DateAdd v aplikaci Excel k odečítání různých nastavení intervalů
Podobně můžeme odečíst roky, měsíce, dny, hodiny, minuty atd. z data pomocí příkazu znaménko minus na adrese přední o argument číslo Například:
Kód:
Sub DateAdd_Subtract_Years() Range("F5") = DateAdd("y", -2, Range("D5")) End Sub
Výsledek: 2 roky odečteno od 1/1/2022 (mm/dd/rrrr) a výsledkem bylo. 1/1/2020 (mm//dd/rrrr).
Na co nezapomenout
- Když používáme 'w' přidat všední dny to se sčítá všechny dny v týdnu včetně soboty a neděle, nikoliv pouze pracovních dnů (někdo by mohl očekávat).
- Funkce DateAdd nakonec nezobrazuje hodnotu neplatné datum Například pokud k 31. lednu 2022 přičteme 1 měsíc, výsledkem bude 28. únor 2022, nikoli 31. únor 2022 (ten neexistuje).
- Pokud odečteme více než 122 let od nynějška. chyba by došlo, protože datum v aplikaci Excel začíná z 1. ledna 1990.
- Datum návratu funkce DateAdd závisí na parametru Nastavení data na ovládacím panelu.
- Argument data funkce DateAdd bychom měli podle příkazu Vlastnost kalendáře . Pokud je kalendář Gregoriánský jazyk , vstupní da te argument by měl být také v Gregoriánský jazyk . Podobně, pokud je kalendář v Hijri, musí být argument data ve stejném formátu.
Závěr
Nyní víme, jak používat funkci VBA DateAdd v aplikaci Excel. Doufejme, že vás to povzbudí k tomu, abyste tuto funkci používali s větší jistotou. Jakékoli dotazy nebo návrhy nezapomeňte vložit do níže uvedeného pole pro komentáře.