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 jaký je jejich 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.

Příklad č. 1

Například máme stejné datum ve více buňkách listu, 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 nejdříve musíme vybrat buňku pomocí objektu RANGE .

Kód:

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

Protože měníme formát data buňky, musíme přistupovat k vlastnosti „ Formát čísla “ objektu RANGE.

Kód:

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

Po vstupu do „ 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 změní datum 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 použití 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

Poté v okně se zprávou, jsem ukázal výsledek proměnné, ale než jsme ukázat výsledek, my jsme používali „ FORMAT funkci“ formátovat hodnotu proměnné „Mýval , “ 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. Důvodem je, ž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 sériová čísla a pokud použijete formát data, zobrazí se odpovídajícím způsobem.

Zajímavé články...