Přejít na hlavní obsah

Jak formátovat buňku Excel VBA jako datum

Excel má široké možnosti pro formátování buněk, včetně formátování data. S VBA je však možné do používání dat v Excelu vnést ještě větší flexibilitu a pohodlí.

Formátování buňky jako data umožňuje uživateli přesně sledovat, jak se datum v buňce zobrazí. To může být užitečné, když je třeba předložit datum v určitém formátu nebo použít datum k provedení výpočtů nebo srovnání.

V Excelu VBA lze pomocí objektů, vlastností a metod změnit formát buňky na datum. Můžete například použít vlastnost NumberFormat k zadání formátu data. Kromě toho lze k převodu hodnot buněk na data a zpět použít funkce VBA, jako je Format a CDate.

Například následující kód VBA převede hodnotu buňky A1 na datum a nastaví Formát buňky:

Range("A1").Hodnota = "01/01/2025" ' určuje hodnotu buňky

Range("A1").NumberFormat = "dd. mm. yyyy" ' určuje formát buňky jako datum (DD.mm.GGG)

Formátování buněk jako data v Excelu VBA tedy umožňuje flexibilnější a pohodlnější práci s daty, jejich prezentaci ve správném formátu a provádění různých operací s daty.

Jak používat Excel VBA k formátování buňky jako data

Pro začátek budete muset otevřít Editor VBA v Excelu. To lze provést stisknutím kombinace kláves ALT + F11. V editoru VBA můžete napsat kód pro formátování buňky jako data.

Níže je uveden příklad kódu VBA, který formátuje hodnotu buňky A1 jako datum:

Sub FormatCellAsDate()Range("A1").NumberFormat = "dd/mm/yyyy"End Sub

V tomto příkladu používáme vlastnost NumberFormat k zadání požadovaného formátu data. V tomto případě nastavíme formát "dd/mm/yyyy", který zobrazuje datum ve formátu den/měsíc / rok.

Formát data můžete také změnit nastavením vlastnosti NumberFormat na jiné hodnoty podle vašich potřeb.

Chcete-li tento kód spustit, můžete zavřít Editor VBA a vrátit se do tabulky Excel. Poté můžete vybrat buňku, kterou chcete formátovat, a provést makro FormatCellAsDate stisknutím Alt+F8 a výběrem ze seznamu dostupných Maker.

Po provedení makra bude vybraná buňka naformátována podle zadaného formátu data.

Použití aplikace Excel VBA tedy usnadňuje formátování buněk jako data. To může být užitečné, když potřebujete zpracovat velké množství dat, která obsahují data, nebo když chcete data prezentovat ve vhodnějším formátu pro analýzu.

Otevření Visual Basic Editor

Chcete-li formátovat buňku Excelu jako datum pomocí VBA, musíte otevřít Visual Basic Editor. Chcete-li to provést, postupujte takto:

Krok 1: Otevřete Excel a v horní části okna vyberte kartu Vývojář (pokud se karta Vývojář nezobrazí, postupujte takto: klikněte pravým tlačítkem na panelu nástrojů, vyberte Konfigurovat, přepněte na kartu Domů a zaškrtněte políčko naproti vývojář a poté klikněte na OK).

Krok 2: Na kartě Vývojář vyhledejte skupinu kód a klikněte na tlačítko Visual Basic.

Krok 3: V důsledku toho se otevře okno Visual Basic Editor, kde bude možné psát a upravovat kód VBA pro formátování dat v Excelu.

Visual Basic Editor poskytuje uživatelsky přívětivé rozhraní pro práci s VBA, které vám umožňuje vytvářet a upravovat makra a provádět další operace pro automatizaci práce s daty.

Poznámka: Při otevírání Visual Basic Editor byste měli být opatrní a neprovádět nežádoucí změny kódu, zvláště pokud nejste obeznámeni s VBA. Nesprávné změny mohou vést k neočekávaným výsledkům a chybám v aplikaci.

Výběr buňky pro formátování

Chcete-li formátovat buňku jako datum v Excelu VBA, musíte nejprve vybrat požadovanou buňku nebo rozsah buněk. To lze provést pomocí objektu Range.

Existuje několik způsobů, jak vybrat ječmen:

  • Výběr jedné buňky:
    • S použitím běžné notace: Range("A1").
    • Pomocí číselné hodnoty řádku a sloupce: Range(1, 1).
    • S použitím běžné notace:Range("A1: B10").
    • Pomocí číselných hodnot řádků a sloupců: Range(Cells(1, 1), Cells(10, 2)).

    Po výběru buňky nebo rozsahu buněk lze pomocí vlastnosti NumberFormat použít formátování jako datum. Následující kód například nastaví formát data ve vybrané buňce:

    Range("A1").NumberFormat = "dd.mm.yyyy"

    Výběrem požadovaných buněk a použitím požadovaného formátu data lze tedy snadno a rychle formátovat v Excelu VBA.

    Zadání formátu data

    Při použití VBA v Excelu můžete nastavit formát data pro buňky, aby odrážely datum, které potřebujete. K tomu budete muset použít metodu NumberFormat.

    Metoda NumberFormat umožňuje nastavit formát číselných a datových hodnot buňky. V případě formátování data budete muset k určení formátu použít speciální znaky. Například symbol " d "označuje den, symbol" m "je měsíc a symbol" y " je rok.

    Chcete-li zadat formát data, musíte provést následující kroky:

    1. Vyberte buňku nebo rozsah buněk, ve kterých chcete nastavit formát data.
    2. Použijte vlastnost NumberFormat pro buňku nebo rozsah buněk a přiřaďte mu správnou hodnotu.

    Zde je několik příkladů formátování data:

    Range("A1").NumberFormat = "dd.mm.yyyy" - formátuje buňku A1, aby zobrazila Datum ve formátu "den.měsíc.rok".

    Range("B1:B5").NumberFormat = "dddd, d.mm.yyyy" - formátuje rozsah buněk B1: B5 tak, aby zobrazoval Datum ve formátu "den_nedělání, den.měsíc.rok".

    Range("C1:C10").NumberFormat = "mm/dd/yyyy" - formátuje rozsah buněk C1: C10 tak, aby zobrazoval Datum ve formátu "měsíc/den/rok".

    Je třeba poznamenat, že symboly formátování data se mohou měnit v závislosti na nastavení jazyka a regionálních Nastavení nainstalovaných v počítači. Chcete-li tedy zajistit správné zobrazení formátu data, měli byste zkontrolovat nastavení jazyka a regionálních možností v počítači.

    Doufejme, že vám tento článek pomohl pochopit, jak nastavit formát data při použití VBA v Excelu.

    Aplikace formátu data na buňku

    Když chceme zobrazit datum v buňce aplikace Excel s určitým formátem, můžeme použít metodu .NumberFormat VBA.

    Formát data je uveden jako řádek a může obsahovat různé znaky formátu, které určují, jak se datum v buňce zobrazí.

    Chcete-li například zobrazit datum ve formátu "DD / MM/GGG", můžeme použít následující kód:

    Range("A1").NumberFormat = "dd/mm/yyyy"

    Tento kód použije formát data na buňku A1, aby zobrazila hodnotu data ve formátu"DD/MM / GGG".

    Kromě toho můžeme použít znaky formátu k určení, které prvky data by měly být zobrazeny. Například k zobrazení Pouze měsíce a roku můžeme použít následující kód:

    Range("A2").NumberFormat = "мм/гггг"

    Nyní bude buňka A2 zobrazovat pouze měsíc a rok ve formátu "mm/HGG".

    Určením formátu data pro buňku můžeme dosáhnout nejen požadovaného typu zobrazení, ale také jej použít k provádění různých výpočtů nebo třídění podle data.

    Kontrola formátování

    Jakmile použijete formátování buňky v Excelu pomocí VBA, možná budete muset zkontrolovat, zda bylo formátování úspěšně použito. Zde je několik způsobů, jak zkontrolovat formátování:

    • Podívejte se na buňku: pokud se datum zobrazí tak, jak jste nastavili, bylo úspěšně použito formátování.
    • Použijte funkci GET.CELL: tato funkce vrací informace o formátování buňky, včetně formátu data. Můžete například použít následující kód:
    • Sub CheckFormatting() Dim FormatCode As String FormatCode = Application.ExecuteExcel4Macro("GET.CELL (63, A1)") MsgBox "Formát buňky:" & FormatCode End Sub
    • Zkontrolujte vlastnosti buňky pomocí objektu Range: vlastnost NumberFormat můžete zkontrolovat a zjistit, jaký formát je aplikován na buňku. Například:
    • Sub CheckFormatting () DIMM MyRange As Range Set MyRange = Range ("A1") MsgBox "Formát buňky:" & MyRange.NumberFormat End Sub

    Pomocí těchto způsobů ověřte správnost použití formátování data v buňce pomocí VBA.

    Formátování více buněk najednou

    Při práci s buňkami Excel v VBA můžete formátovat více buněk najednou a aplikovat požadovaný formát na všechny vybrané buňky. To může být užitečné, pokud chcete změnit formát data najednou pro více buněk ve vašem dokumentu.

    K formátování více buněk najednou v VBA můžete použít objekt " Range "a jeho metodu"NumberFormat". Tato metoda umožňuje nastavit formát číselné hodnoty pro buňku.

    Níže je uveden příklad kódu VBA, který ukazuje, jak formátovat více buněk najednou jako datum:

    Example:

    Sub FormatCellsAsDate()Dim rng As Range' Выберите диапазон ячеек, которые вы хотите форматироватьSet rng = Range("A1:A10")' Установите формат даты для выбранных ячеекrng.NumberFormat = "dd.mm.yyyy"End Sub

    V tomto příkladu vybereme rozsah buněk od A1 do A10 a formátujeme jej jako datum pomocí formátu "DD.mm.yyyy". formát můžete změnit tak, aby vyhovoval vašim požadavkům.

    Můžete také použít jiné formáty data, jako je" mm/dd/yyyy "nebo"yyyy-mm-dd". Stačí zadat požadovaný formát v metodě "NumberFormat".

    Po provedení tohoto kódu budou vybrané buňky zobrazovat hodnoty data v zadaném formátu.

    Pomocí tohoto příkladu můžete v Excelu VBA snadno formátovat více buněk najednou jako datum.

    Ukládání a zavírání Visual Basic Editor

    Po dokončení práce s Visual Basic Editor (VBE) v Excelu je důležité uložit změny a správně zavřít Editor.

    Chcete-li uložit provedené změny v modulech VBA, postupujte takto:

    1. Klikněte na tlačítko Uložit na panelu nástrojů VBE nebo vyberte položku nabídky Soubor - > Uložit (Ctrl + S).
    2. Pokud již máte napsané makro a provedli jste v něm změny, uložte jej, jak je popsáno výše. Pokud jste vytvořili nové makro, budete vyzváni, abyste jej uložili a přiřadili název.
    3. Po uložení všech změn můžete editor zavřít výběrem položky nabídky Soubor - > Zavřít a vrátit se do aplikace Microsoft Excel (Alt + Q).

    Všimněte si, že pokud jste zapomněli uložit změny VBE, nebudou automaticky uloženy, když zavřete. Proto je důležité vždy uložit změny ve svém kódu, než zavřete Editor.