V programovacím jazyce VBA pro Excel je formátování data častým úkolem, který je třeba řešit při práci s daty. Správné zobrazení data ve formátu vhodném pro uživatele je důležitým aspektem jakékoli aplikace nebo makra. V tomto článku se podíváme na to, jak změnit formát data v VBA pro Excel a poskytneme příklady kódu pro různé formáty data.
Než začnete s formátováním data, musíte pochopit, že datum v Excelu je číselná hodnota, kde každé datum je číslo a čas je desetinné číslo, které představuje čas ve dnech. Formát data určuje, jak se daná číselná hodnota zobrazí v Excelu.
Pro formátování data používá VBA funkci Format (). Funkce Format () umožňuje nastavit určitý formát pro zobrazení data, včetně různých kombinací dnů, měsíců a let a času.
Příklad: Format(dateValue, "dd.mm.yyyy")
V tomto příkladu funkce Format () přijímá dva argumenty: dateValue je hodnota data, které je třeba naformátovat, a" dd.mm.yyyy " je řetězec, který určuje formát zobrazení data. V důsledku provádění této funkce se hodnota data zobrazí ve formátu "den.měsíc.rok".
Formátování data v aplikaci VBA pro Excel: změna formátu data
Nejprve je možné použít metodu Format pro práci s daty v VBA. Tato metoda umožňuje nastavit požadovaný formát data pomocí řádku formátu. Například pokud chcete zobrazit datum ve formátu " DD.mmgg", můžete použít následující kód:
Dim myDate As DatemyDate = DateDim formattedDate As StringformattedDate = Format(myDate, "dd.mm.yyyy")MsgBox formattedDate
V důsledku provedení tohoto kódu se na obrazovce zobrazí zpráva s naformátovaným datem v daném formátu.
Za druhé, k formátování data lze použít funkci FormatDateTime v VBA. Tato funkce také umožňuje zadat požadovaný formát data, ale na rozdíl od metody Format obsahuje také čas ve výsledku. Zde je příklad použití funkce FormatDateTime:
Dim myDate As DatemyDate = NowDim formattedDate As StringformattedDate = FormatDateTime(myDate, vbShortDate)MsgBox formattedDate
V důsledku provedení tohoto kódu se na obrazovce zobrazí zpráva s naformátovaným krátkým datem (bez času) ve formátu uvedeném v parametru vbShortDate.
K formátování data v buňce lze také použít objekt Range v VBA pro Excel. Chcete-li to provést, musíte použít vlastnost NumberFormat objektu Range a nastavit požadovaný formát data. Následující kód například změní formát data v buňce A1 na formát "GGG-mm-dd":
Range("A1").NumberFormat = "yyyy-mm-dd"
V důsledku provedení tohoto kódu se datum v buňce A1 zobrazí v daném formátu.
Změna formátu data v VBA pro Excel je důležitý úkol, který lze snadno provést pomocí metody Format, funkce FormatDateTime nebo vlastnosti NumberFormat objektu Range. Vyberte nejvhodnější způsob pro váš úkol a použijte jej při práci s daty v Excelu.
Jak změnit formát data v VBA pro Excel
VBA (Visual Basic for Applications), stejně jako v jiných programovacích jazycích, hraje formát data důležitou roli při práci s daty a časem. Formát data určuje, jakým způsobem bude datum zobrazeno nebo zadáno.
Změna formátu data v aplikaci VBA pro Excel vám umožní představit Datum ve vaší požadované podobě. Tato změna se může hodit, když potřebujete naformátovat datum pro zobrazení v buňkách tabulky aplikace Excel, v textových polích nebo při tisku.
Pro změnu formátu data používá VBA pro Excel funkci Format. Umožňuje zadat požadovaný formát data, který se bude vztahovat na uvedenou hodnotu. Funkce Format má následující syntaxi:
- Format(Expression, Format)
- Expression-hodnota (datum), kterou chcete formátovat
- Format-řetězec, který určuje požadovaný formát data
Příklad použití funkce Format:
Dim myDate As DatemyDate = #1/1/2025#Dim formattedDate As StringformattedDate = Format(myDate, "dd.mm.yyyy")MsgBox formattedDate
V tomto příkladu jsme vytvořili proměnnou myDate, která byla přiřazena hodnotě data 1. ledna 2025. Poté jsme pomocí funkce Format naformátovali tuto hodnotu ve formátu "DD.mm.yyyy". výsledek se zobrazí v okně zprávy (MsgBox). V tomto případě bude stažen řádek "01.01.2025".
VBA pro Excel existuje mnoho možností formátování data. Některé z nejpoužívanějších formátů zahrnují:
- "mm / dd / yyyy" - měsíc / den / rok (např. 01/01/2025)
- "dd / mm / yyyy" - den / měsíc / rok (např. 01/01/2025)
- "mmmm dd, yyyy" - celý název měsíce, den, rok (např. January 1, 2025)
- "mmm dd, yyyy" - zkrácený název měsíce, den, rok (například Jan 1, 2025)
Formát data můžete změnit v VBA pro Excel tak, aby odpovídal vašim požadavkům a preferencím. Použijte vhodný formát data pomocí funkce Format a vaše datum se zobrazí v požadovaném tvaru.
Průvodce formátováním data v VBA pro Excel
K formátování data se v VBA pro Excel používá metoda Format. Tato metoda má dva argumenty: hodnotu data a formát data, ve kterém chcete hodnotu zobrazit.
Níže jsou uvedeny některé příklady formátů dat, které můžete použít:
- dd-mm-yyyy: zobrazení data ve formátu "den-měsíc-rok", například 31-12-2025.
- mm/dd/yyyy: zobrazení data ve formátu "měsíc/den / rok", například 12/31/2025.
- dd mmmm yyyy: zobrazení data ve formátu "den měsíce roku", například 31.Prosince 2025.
- hh:mm:ss: zobrazení času ve formátu "hodiny: minuty: sekundy", například 23:59:59.
Chcete-li použít formát data, můžete použít následující syntaxi:
Format(значение_даты, "формат_даты")
Podívejme se na několik příkladů, abychom lépe pochopili, jak to funguje.
Příklad 1: formát data v buňce
Sub FormatDate()Dim dateValue As DateDim formattedDate As String' Установка значения датыdateValue = DateSerial(2025, 12, 31)' Форматирование даты в формат "день-месяц-год"formattedDate = Format(dateValue, "dd-mm-yyyy")' Вывод отформатированной даты в ячейку A1Range("A1").Value = formattedDateEnd Sub
Příklad 2: formát data v řádku
Sub FormatDate()Dim dateValue As DateDim formattedDate As String' Установка значения датыdateValue = Now' Форматирование даты в формат "месяц/день/год часы:минуты"formattedDate = Format(dateValue, "mm/dd/yyyy hh:mm")' Вывод отформатированной даты в строкуMsgBox "Текущая дата и время: " & formattedDateEnd Sub
Nyní víte, jak změnit formát data v VBA pro Excel pomocí metody Format. Je to velmi užitečný nástroj při práci s daty v programování, který vám umožní spravovat zobrazení data podle vašich potřeb.