Jak používat funkci VBA DateAdd v aplikaci Excel

  • Sdílet Toto
Hugh West

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.

Hugh West je velmi zkušený školitel a analytik Excelu s více než 10 lety zkušeností v oboru. Má bakalářský titul v oboru Účetnictví a finance a magisterský titul v oboru Business Administration. Hugh má vášeň pro výuku a vyvinul jedinečný přístup k výuce, který lze snadno sledovat a pochopit. Jeho odborné znalosti Excelu pomohly tisícům studentů a profesionálů po celém světě zlepšit své dovednosti a vyniknout ve své kariéře. Prostřednictvím svého blogu Hugh sdílí své znalosti se světem a nabízí bezplatné výukové programy Excelu a online školení, které jednotlivcům a firmám pomohou dosáhnout jejich plného potenciálu.