Tento tutoriál předvede, jak formátovat data pomocí VBA.
Formátujte data ve VBA
Data lze formátovat pomocí VBA dvěma způsoby.
- Vlastnost NumberFormat buněk / rozsahů - formátování dat uložených v buňkách
- Funkce Formát VBA - formátování dat ve VBA (např. Proměnné)
NumberFormat - data
Výchozí formát čísla buňky v aplikaci Excel je Obecný. Změnou formátu čísla můžete zobrazit hodnoty jako čísla, text, data, procenta nebo měny. Vlastnost NumberFormat lze ve VBA použít k nastavení číselného formátu dat v buňce nebo rozsahu.
Poznámka: Chcete -li zobrazit různé standardní formáty data dostupné v aplikaci Excel, přejděte na Domů> Číslo a zobrazí se možnosti jako Krátké datum, Dlouhé datum a Čas.
Krátké datum
Možnost formátování čísla krátkého data zobrazuje datum v krátkém číselném formátu.
Následující kód nastaví vlastnost .NumberFormat buňky A1 na Krátké datum:
1 | Rozsah ("A1"). NumberFormat = "mm/dd/rrrr" |
Dlouhé rande
Dlouhé formátování čísla data zobrazuje datum v delším, písemném formátu. Následující kód nastaví vlastnost .NumberFormat buňky A1 na Long date:
1 | Rozsah ("A1"). NumberFormat = "dddd, mmmm dd, rrrr" |
Vlastní data
Chcete -li zobrazit vlastní kódy formátování čísel, které můžete ve VBA použít k formátování dat, přejděte na Domů> Číslo a klikněte na Spouštěč dialogového okna. Vyberte kartu Číslo a zvolte Vlastní.
Můžete buď vybrat vlastní předdefinované formáty data nebo vytvořit vlastní formáty data definované uživatelem. Následující kód nastaví vlastnost .NumberFormat buňky A1 na předdefinovaný vlastní formát data:
1 | Rozsah ("A1"). NumberFormat = "mmm-rr" |
Výsledek je:
Následující kód nastaví vlastnost .NumberFormat buňky A1 na uživatelsky definovaný vlastní formát data:
1 | Rozsah ("A1"). NumberFormat = "dddd-dd-mmm-yy" |
Výsledek je:
Prohlédnutím předem připravených příkladů aplikace Excel se dozvíte, jak by měly být zadávány NumberFormats. Další informace najdete v dokumentaci společnosti Microsoft o formátech čísel pro data.
Funkce formátu VBA
Jak bylo uvedeno výše, metoda NumberFormat je vhodná pro nastavení formátu čísla dat uložených v buňkách aplikace Excel. Ve VBA můžete pomocí funkce Format převést data na řetězce s určitým formátováním data.
K formátování dat byste použili následující syntaxi:
Formát (String_Representation, NumberFormatCode) kde:
String_Representation - textový řetězec představující datum.
NumberFormatCode - kód formátu čísla určující způsob zobrazení data.
Následující kód ukazuje, jak formátovat reprezentaci textového řetězce data jako formát dlouhého data:
1 | Formát MsgBox („1/1/2010“, „dddd, mmmm dd, rrrr“) |
Výsledek je:
Všimněte si, že funkce formátování používá stejnou syntaxi formátování data jako výše uvedený NumberFormat.
Následující kód ukazuje, jak formátovat reprezentaci textového řetězce data jako formát středního data:
1 | Formát MsgBox („09. října 2012“, „Střední datum“) |
Výsledek je:
Následující kód ukazuje, jak formátovat reprezentaci textového řetězce data jako uživatelsky definovaný formát:
1 | Formát MsgBox („09. října 2012“, „dddd: dd/mm/rr“) |
VBA Custom Format Builder
Náš doplněk VBA: AutoMacro obsahuje nástroj pro tvorbu vlastních formátů pro editor VBA. To vám umožní nastavit vlastní formáty a okamžitě zobrazit náhled výstupu pro požadovanou hodnotu:
Doplněk VBA obsahuje řadu dalších „generátorů kódu“, rozsáhlou knihovnu kódů a řadu dalších kódovacích nástrojů. Je to konečný doplněk pro každého, kdo má vážný zájem o programování VBA!
Formát VBA Datum v Accessu
Funkce VBA Format Date funguje v Access VBA úplně stejně jako v Excel VBA.
12345678910 | Funkce GetDateFilter () jako řetězec'vytvořením řetězce získáte informace ze 2 datových polí ve formuláři v aplikaci AccessDim strDateField jako řetězecIf IsNull (Me.txtSDate) = False ThenIf IsNull (Me.txtEDate) = True Then Me.txtEDate = Me.txtSDatePokud strDateField2 = "" PakGetDateFilter = strDateField & "Between #" & Format (Me.txtSDate, "mm/dd/yyyy") & " # And #" & Format (Me.txtEDate, "mm/dd/yyyy") & " #"Konec IfKonec IfKoncová funkce |