Přejít na hlavní obsah

VBA Excel: jak určit den v týdnu

Microsoft Excel je výkonný nástroj, který vám umožňuje provádět různé úkoly automatizace a analýzy dat. Jedním z těchto úkolů je určit den v týdnu pro dané datum. Vestavěná funkce aplikace Excel umožňuje tento úkol zvládnout, ale někdy je zapotřebí složitější výpočty nebo flexibilnější řízení procesu.

K řešení těchto problémů se často používá programovací jazyk VBA (Visual Basic for Applications), který je zabudován v Excelu. VBA vám umožňuje vytvářet makra a postupy, které automatizují provádění různých akcí a výpočtů.

Jedním z hlavních úkolů spojených s určením dne v týdnu je výpočet čísla dne v týdnu pro dané datum. Často je například nutné určit, který den v týdnu připadá na konkrétní datum, nebo najít všechna data, která připadají na konkrétní den v týdnu.

V tomto článku se podíváme na několik způsobů, jak určit den v týdnu pomocí aplikace VBA Excel. Podíváme se jak na použití vestavěných funkcí aplikace Excel, tak na vytvoření vlastní funkce v jazyce VBA. Také se podíváme na možnost rozšíření funkčnosti pomocí dalších knihoven a balíčků.

VBA Excel: definice dne v týdnu pomocí kódu

V aplikaci VBA (Visual Basic for Applications) lze pomocí speciální funkce snadno určit den v týdnu. To může být užitečné při práci s daty a kalendáři. V této části se podíváme na kód, který umožňuje určit den v týdnu pro dané datum.

K určení dne v týdnu v aplikaci VBA Excel použijeme funkci Weekday . Syntaxe této funkce je následující:

ParametrPopis
DateValuePovinný. Hodnota data, pro které je třeba určit den v týdnu.
FirstDayOfWeekVolitelný. Číselná hodnota označující první den v týdnu (výchozí je neděle). Povolené hodnoty: 1-neděle, 2-pondělí, . 7. - sobota.
FirstWeekOfYearVolitelný. Číselná hodnota udávající první týden v roce (výchozí je první týden s lednem 1).

Platné hodnoty: 1-první týden s lednem 1, 2 - první týden od prvního čtvrtka roku, 3-první týden, celý

Níže je uveden příklad kódu, který ukazuje použití funkce Weekday :

Sub ОпределитьДеньНедели()Dim Дата As DateDim ДеньНедели As IntegerДата = #10/12/2025# ' Задаем датуДеньНедели = Weekday(Дата) ' Определяем день неделиMsgBox "День недели: " & ДеньНеделиEnd Sub

V tomto příkladu nastavíme Datum #10/12/2025# a k určení dne v týdnu použijeme funkci Weekday.

Výsledek se zobrazí v okně zprávy.

Spusťte tento kód v aplikaci VBA Excel a zjistěte den v týdnu pro dané datum. Výsledek se zobrazí jako číslo od 1 do 7,

kde 1-neděle, 2-pondělí,. 7. - sobota.

Nyní víte, jak určit den v týdnu pomocí kódu VBA Excel. Tato funkce může být užitečná při automatickém

analýza dat, výpočet statistik nebo vytváření kalendářů a plánovačů na základě dat.

Použití funkce Weekday

VBA používá k určení dne v týdnu funkci Weekday. Tato funkce vrací číslo odpovídající dni v týdnu: od 1 (neděle) do 7 (sobota).

Syntaxe funkce Weekday:

VýrazPopis
Weekday(Date, [FirstDayOfWeek])Funkce vrací číslo odpovídající dni v týdnu pro uvedené datum.

Parametr Date je datum, které vyžaduje určit den v týdnu. Parametr FirstDayOfWeek určuje první den v týdnu: 1 - neděle, 2-pondělí atd. výchozí hodnota je nastavena v operačním systému.

Příklad použití funkce Weekday:

Dim myDate As DateDim dayOfWeek As IntegermyDate = DatedayOfWeek = Weekday(myDate)MsgBox "Сегодня " & dayOfWeek

V tomto příkladu je proměnné myDate přiřazena hodnota aktuálního data. Funkce Weekday je poté vyvolána s možností myDate a výsledek je přiřazen proměnné dayOfWeek . Jakmile aplikace narazí na příkaz MsgBox, zobrazí se zpráva s číslem dne v týdnu.