Datum formátu VBA | Jak změnit formát data v kódu VBA?

Datum formátu Excel VBA

K formátování data ve VBA používáme samotnou vestavěnou funkci FORMAT, bere vstup jako formát data a vrací požadovaný požadovaný formát, argumenty požadované pro tuto funkci jsou samotný výraz a typ formátu.

Formátování data a času jsou v Excelu citlivé věci a totéž platí i pro VBA. Výchozí datum a čas vychází ze systémového data, na kterém pracujeme, které se může u jednotlivých systémů lišit. V tomto článku vám ukážeme různé techniky formátování dat pomocí kódů VBA.

Chcete-li změnit formát data pomocí kódování VBA, musíme si být vědomi toho, jaké jsou formáty data a jeho dopad na datum.

Níže uvedená tabulka ukazuje různé formátování data a jejich kódy.

Pokud tedy máte na paměti, výše uvedený graf formátující datum pomocí kódování VBA není vůbec náročný úkol.

Jak změnit formát data ve VBA?

Níže jsou uvedeny příklady formátu data aplikace Excel VBA.

Tuto šablonu formátu VBA ve formátu Excel si můžete stáhnout zde - šablonu ve formátu VBA ve formátu Excel

Příklad č. 1

Například máme ve více buňkách listu stejné datum, jak je znázorněno níže.

Nyní pro stejné datum použijeme různé formáty data, abychom viděli dopad v různých kódech formátu data.

Nejprve zkopírujte stejná data do dalšího sloupce, abyste viděli dopad.

Pro první datum, tj. Buňku A1, použijeme formát „DD-MM-RRRR“ .

V kódu nejprve musíme vybrat buňku pomocí objektu RANGE .

Kód:

 Sub Date_Format_Example1 () Range ("A1") End Sub 

Jelikož měníme formát data buňky, musíme přistupovat k vlastnosti „ Number Format “ objektu RANGE.

Kód:

 Sub Date_Format_Example1 () Range ("A1"). NumberFormat End Sub 

Po přístupu k „ Number Format “ musíme nastavit formát čísla vložením znaménka rovná se a použít formátovací kód v uvozovkách.

Kód:

 Sub Date_Format_Example1 () Range ("A1"). NumberFormat = "dd-mm-rrr" "Tím se změní datum do" 23-10-2019 "End Sub 

Když tento kód provedeme, použije na buňku A1 formát čísla jako „ DD-MM-RRRR “.

Výstup:

Příklad č. 2

Podobně jsem použil různé formátovací kódy i pro další buňky a níže je pro vás kód VBA.

Kód:

Sub Date_Format_Example2 () Range ("A1"). NumberFormat = "dd-mm-rrr" "Tím se změní datum na" 23-10-2019 "rozsah (" A2 "). NumberFormat =" ddd-mm-rrr " "Tím se změní datum na rozsah„ St-10-2019 "(„ A3 "). NumberFormat =" dddd-mm-rrr "" Tím se změní datum na "středa-10-2019" ("A4") .NumberFormat = "dd-mmm-rrr" "Tím se datum změní na rozsah" 23. října 2019 "(" A5 "). NumberFormat =" dd-mmmm-rrr "" Tím se změní datum na "23- Říjen-2019 "Rozsah (" A6 "). NumberFormat =" dd-mm-rr "'Tím se změní datum na rozsah" 23-10-19 "(" A7 "). NumberFormat =" ddd mmm rrrr "" Toto změní datum na „St říj 2019 "Range (" A8 "). NumberFormat =" dddd mmmm yyyy "'Tím se změní datum na" středa říjen 2019 "End Sub

Výsledek tohoto kódu bude následující.

Výstup:

Změňte formát data pomocí funkce FORMAT

Ve VBA máme funkci nazvanou FORMAT, kterou lze použít k aplikaci požadovaného formátu na buňku.

Musíme jen určit, jaká je hodnota pro „Expression“ a podle toho použít „Format“.

Podívejte se na níže uvedený kód jako příklad.

Kód:

 Sub Date_Format_Example3 () Dim MyVal jako varianta MyVal = 43586 MsgBox Format (MyVal, "DD-MM-YYYY") End Sub 

Ve výše uvedeném kódu jsem definoval proměnnou jako variantu (která může obsahovat libovolnou hodnotu).

Kód:

 Dim MyVal jako varianta 

Dále pro tuto proměnnou jsem přidělil hodnotu 43586.

Kód:

MyVal = 43586

Dále v okně se zprávou jsem ukázal výsledek proměnné, ale předtím, než ukážeme výsledek, použili jsme funkci „ FORMAT “ k formátování hodnoty proměnné „ MyVal “ a formát je uveden „ DD-MM- RRRR “.

Kód:

Formát MsgBox (MyVal, "DD-MM-RRRR")

Dobře, pojďme spustit kód a zobrazit výsledek v okně se zprávou ve VBA.

Výstup:

Jak vidíte výše, výsledek se zobrazuje jako „ 01-05-2019 “.

Nyní se musíte divit, že jsme dodali sériové číslo, ale výsledek se zobrazuje jako datum. Je to proto, že Excel ukládá datum jako sériová čísla, takže hodnota 43586 se rovná datu „01-05-2019“ a pokud číslo zvýšíte o 1, tj. 43587, bude datum „02-05-2019“.

Kód:

 Sub Date_Format_Example3 () Dim MyVal jako varianta MyVal = 43586 MsgBox Format (MyVal, "DD-MM-YYY") End Sub 

Věci k zapamatování

  • Výchozí datum vašeho systému bude použito i pro váš Excel.
  • Vlastnost Formát čísla lze použít ke změně formátu data ve VBA.
  • Pomocí funkce FORMAT můžeme změnit formát data.
  • Excel ukládá datum jako pořadová čísla a pokud použijete formát data, zobrazí se odpovídajícím způsobem.