Ako formátovať dátum pomocou VBA v programe Excel (4 metódy)

  • Zdieľajte To
Hugh West

Implementácia Makro VBA je najefektívnejšia, najrýchlejšia a najbezpečnejšia metóda na spustenie akejkoľvek operácie v programe Excel. V tomto článku vám ukážeme, ako formátovať dátum v programe Excel pomocou VBA .

Stiahnite si pracovný zošit

Bezplatný cvičný zošit Excel si môžete stiahnuť odtiaľto.

Formátovanie dátumu pomocou VBA.xlsm

4 metódy formátovania dátumu v programe Excel pomocou VBA

Pozrite sa na nasledujúci príklad. V oboch prípadoch sme uložili rovnaké dátumy Stĺpec B a C aby sme pri formátovaní dátumu v Stĺpec C , budete vedieť z B Stĺpec v akom formáte bol dátum predtým.

1. VBA na formátovanie dátumu z jedného typu na iný v programe Excel

Najprv sa dozvieme, ako formátovať dátum z Bunka C5 v našom danom súbore údajov s VBA na " Utorok-január-2022 ".

Kroky:

  • Tlač Alt + F11 na klávesnici alebo prejdite na kartu Vývojár -> Visual Basic otvoriť Editor jazyka Visual Basic .

  • Vo vyskakovacom okne kódu kliknite na paneli ponúk na položku Vložiť -> Modul .

  • Skopírujte nasledujúci kód a vložte ho do okna kódu.
 Sub DateFormat() Range("C5").NumberFormat = "dddd-mmmm-yyyy" 'Tým sa dátum naformátuje na "utorok-január-2022" End Sub 

Váš kód je teraz pripravený na spustenie.

  • Tlač F5 na klávesnici alebo na paneli ponúk vyberte Run -> Run Sub/UserForm Môžete tiež jednoducho kliknúť na malá ikona Play na paneli podponúk, aby ste makro spustili.

Tento kód naformátuje dátum " 11-01-22 " na " Utorok-január-2022 ".

Tento formát dátumu môžete previesť aj do mnohých iných formátov. Stačí postupovať podľa nižšie uvedeného kódu a dátum sa zmení na požadovaný formát.

 Sub FormatDate() 'Pôvodný dátum je "11-01-22" Range("C5").NumberFormat = "dd-mm-yyy" 'Tým sa dátum naformátuje na "11-01-2022" Range("C6").NumberFormat = "ddd-mm-yyy" 'Tým sa dátum naformátuje na "Tue-11-2022" Range("C7").NumberFormat = "dddd-mm-yyy" 'Tým sa dátum naformátuje na "Tuesday-11-2022" Range("C8").NumberFormat = "dd-mmm-yyy" 'Tým sa dátum naformátuje na"11-Jan-2022" Range("C9").NumberFormat = "dd-mmmm-yyy" 'Tým sa dátum naformátuje na "11. január 2022" Range("C10").NumberFormat = "dd-mm-yy" 'Tým sa dátum naformátuje na "11-01-22" Range("C11").NumberFormat = "ddd mmm yyyy" 'Tým sa dátum naformátuje na "Tue Jan 2022" Range("C12").NumberFormat = "dddd mmmm yyyy" 'Tým sa dátum naformátuje na "Tuesday January 2022" End Sub 

Prehľad

Prečítajte si viac: Funkcie Now a Format v programe Excel VBA

2. Vloženie VBA na prevod dátumu pomocou funkcie FORMAT

Excel má svoje vlastné sériové číslo týkajúce sa jednotlivých dátumov. Ak chcete zistiť sériové číslo niektorého

konkrétny dátum, musíte požiadať funkcia DATEVALUE .

Predpokladajme, že chcete zistiť sériové číslo dátumu " 11. januára 2022 ", potom je potrebné vzorec zapísať ako,

=DATEVALUE("11 January 2022")

Excel vám poskytne sériové číslo 44572 tohto dátumu.

Teraz toto číslo transformujeme do príslušného formátu dátumu.

Kroky:

  • Rovnaký spôsob ako predtým, otvoriť Editor jazyka Visual Basic z Vývojár karta a Vložte a Modul v okne kódu.
  • V okne kódu skopírujte nasledujúci kód a vložte ho.
 Sub Format_Date() Dim iDate As Variant iDate = 44572 'Poradové číslo dátumu Excelu "11. január 2022" MsgBox Format(iDate, "DD-MMMM-YYYY") End Sub 

Váš kód je teraz pripravený na spustenie.

Dostanete dátum " 11. januára 2022 " v poli správy.

Prečítajte si viac: Ako používať funkciu DateValue VBA v programe Excel

Podobné čítania

  • Ako vložiť aktuálny dátum v programe Excel (3 spôsoby)
  • Premenná dátumu v kódoch VBA (7 použití makier s príkladmi)
  • Získanie aktuálneho dátumu vo VBA (3 spôsoby)
  • Ako používať skratku dátumu aplikácie Excel

3. VBA na transformáciu dátumu na základe konkrétnej časti v programe Excel

Predpokladajme, že chcete formátovať len určitú časť dátumu, napríklad len deň/mesiac/rok, potom napíšte kód takto,

 Sub Date_Format() Range("C5").NumberFormat = "mmmm" 'Tým sa dátum naformátuje na "január" End Sub 

Váš kód je teraz pripravený na spustenie.

" mmmm " v tomto kóde znamená dlhý tvar názvu mesiaca.

Keďže dátum je " 11. januára 2022 ", takže táto časť kódu vráti " Január ".

Tento kód môžete implementovať na formátovanie a extrahovanie akejkoľvek konkrétnej časti dátumu, ktorú chcete.

 Sub FormatDateValue() 'Pôvodný dátum je "11-01-22" Range("C5").NumberFormat = "dd" 'Tým sa dátum naformátuje na "11" Range("C6").NumberFormat = "ddd" 'Tým sa dátum naformátuje na "Tue" Range("C7").NumberFormat = "dddd" 'Tým sa dátum naformátuje na "Tuesday" Range("C8").NumberFormat = "m" 'Tým sa dátum naformátuje na "1" Range("C9").NumberFormat = "mm" 'Tým sanaformátuje dátum na "01" Range("C10").NumberFormat = "mmm" 'Týmto sa dátum naformátuje na "Jan" Range("C11").NumberFormat = "yy" 'Týmto sa dátum naformátuje na "22" Range("C12").NumberFormat = "yyyy" 'Týmto sa dátum naformátuje na "2022" Range("C13").NumberFormat = "dd-mm" 'Týmto sa dátum naformátuje na "11-01" Range("C14").NumberFormat = "mm-yyy" 'Týmto sa dátum nadátum na "01-2022" Range("C15").NumberFormat = "mmm-yyy" 'Týmto sa dátum naformátuje na "Jan-2022" Range("C16").NumberFormat = "dd-yy" 'Týmto sa dátum naformátuje na "11-22" Range("C17").NumberFormat = "ddd yyyy" 'Týmto sa dátum naformátuje na "Tue 2022" Range("C18").NumberFormat = "dddd-yyyy" 'Týmto sa dátum naformátuje na "Tuesday-2022" Range("C19").NumberFormat = "dd-mmm"'Tým sa dátum naformátuje na "11-Jan" Range("C20").NumberFormat = "dddd-mmmm" 'Tým sa dátum naformátuje na "Utorok-Január" End Sub 

Prehľad

4. Vloženie VBA na formátovanie dátumu v konkrétnom pracovnom hárku v programe Excel

Ak chcete formátovať dátum na základe konkrétneho pracovného hárka, musíte najprv v kóde nastaviť názov pracovného hárka a potom formátovať dátum podľa požadovaného typu.

  • Otvorte stránku Editor jazyka Visual Basic z Vývojár karta a Vložte a Modul v okne kódu.
  • V okne kódu skopírujte nasledujúci kód a vložte ho.
 Sub Format_Date() Dim iSheet As Worksheet Set iSheet = ThisWorkbook.Sheets("Example") "Nastavenie pracovného hárku s názvom "Example" iSheet.Range("C5").NumberFormat = "dddd, mmmmdd, yyyy" End Sub 

Váš kód je teraz pripravený na spustenie.

Pozrite sa na 3. riadok kódu, kde najprv nastavíme " Príklad " pracovného hárku a potom naformátujte dátum tohto určitého hárku programu Excel.

Záver

Tento článok vám ukázal, ako formátovať dátum v programe Excel pomocou VBA . dúfam, že tento článok bol pre vás veľmi prínosný. Ak máte akékoľvek otázky týkajúce sa tejto témy, neváhajte sa opýtať.

Hugh West je veľmi skúsený tréner a analytik Excelu s viac ako 10-ročnými skúsenosťami v tomto odvetví. Má bakalársky titul v odbore účtovníctvo a financie a magisterský titul v odbore Business Administration. Hugh má vášeň pre vyučovanie a vyvinul jedinečný vyučovací prístup, ktorý sa dá ľahko sledovať a pochopiť. Jeho odborné znalosti Excelu pomohli tisíckam študentov a profesionálov na celom svete zlepšiť svoje zručnosti a vyniknúť vo svojej kariére. Hugh sa prostredníctvom svojho blogu delí o svoje znalosti so svetom a ponúka bezplatné výukové programy Excelu a online školenia, ktoré jednotlivcom a firmám pomôžu naplno využiť ich potenciál.