Ve spolupráci se SEDUO jsem vytvořil několik videokurzů:
Jak na funkce datum a čas pomocí VBA.
Sem tam potřebuji použít funkce pro datum a čas ve VBA. Proto jsem si připravil tento seznam, spolu s odkazy na použití těchto funkci ve VBA:
Článek nemá za cíl být kompletní příručkou. Je průběžně doplňován a vylepšován.
Pořadové číslo času
Range("B4").Formula = "=TIME(16, 48, 10)"
Range("B5").FormulaLocal = "=ČAS(16; 48; 10)"
Hodnota = TimeSerial(16, 48, 10)
MsgBox (Hodnota)
'zobrazí aktuální čas
Hodnota = TimeSerial()
MsgBox (Hodnota)
Převede čas na pořadové číslo.
Range("B4").Formula = "=TIMEVALUE(""9:30 AM"")"
Range("B5").FormulaLocal = "=ČASHODN(""9:30 AM"")"
Hodnota = TimeValue("15:30:12")
MsgBox (Hodnota)
Rozdíl mezi dvěma kalendářními dny
Range("B4").Formula = "=DATEDIF(""1.1.2016"";""1.1.2017"";""y"")"
Range("B5").FormulaLocal = "=DATEDIF(""1.1.2016"";""1.1.2017"";""m"")"
v přípravě
Pořadové číslo data (datumu).
Range("B4").Formula = "=DATE(2015,7,6)"
Range("B5").FormulaLocal = "=DATUM(2015;7;6)"
Hodnota = DateSerial(2015, 4, 27)
MsgBox (Hodnota)
Datum ve formě textu na pořadové číslo.
Range("B4").Formula = "=DATEVALUE(""1.1.2017"")"
Range("B5").FormulaLocal = "=DATUMHODN(""1.1.2017"")"
Hodnota = DateValue("1.7.2017")
MsgBox (Hodnota)
Rozdíl mezi dvěma dny
Range("B4").Formula = "=DAYS(""7.1.2017"",""1.1.2017"")"
Range("B5").FormulaLocal = "=DAYS(""7.1.2017"";""1.1.2017"")"
Hodnota = WorksheetFunction.Days("7/1/2017", "1/1/2017")
MsgBox (Hodnota)
Převede pořadové číslo na den v měsíci.
Range("B4").Formula = "=DAY(""12.3.2013"")"
Range("B5").FormulaLocal = "=DEN(""1.1.2017"")"
Range("B6").Formula = "=DAY(""12 Mar 2013"")"
Hodnota = Day("12/31/2011")
MsgBox (Hodnota)
Převede pořadové číslo na den v týdnu.
Range("B4").Formula = "=WEEKDAY(""1.1.2017"";0)"
Range("B5").FormulaLocal = "=DENTÝDNE(""1.1.2017"";0)"
Hodnota = WorksheetFunction.Weekday("1/1/2017", vbSunday)
MsgBox (Hodnota)
Hodnota = WorksheetFunction.Weekday("1/1/2017", vbMonday)
MsgBox (Hodnota)
Pořadové číslo dnešního data.
Range("B4").Formula = "=TODAY()"
Range("B5").FormulaLocal = "=DNES()"
Hodnota = Date
MsgBox (Hodnota)
Pořadové číslo data, určený počet měsíců před/po počátečním datu.
Range("B4").Formula = "=EDATE(""30.1.2016"",1)"
Range("B5").FormulaLocal = "=EDATE(""30.1.2016"";1)"
Hodnota = WorksheetFunction.EDate("1/30/2016", 1)
MsgBox (Hodnota)
Pořadové číslo posledního dne měsíce před / po zadaném počtu měsíců.
Range("B4").Formula = "=EOMONTH(""1.1.2017"",0)"
Range("B5").FormulaLocal = "=EOMONTH(""1.1.2017"";0)"
Hodnota = WorksheetFunction.EoMonth("1/5/2017", 0)
MsgBox (Hodnota)
Převede pořadové číslo na hodinu.
Range("B4").Formula = "=HOUR(""12:50"")"
Range("B5").FormulaLocal = "=HODINA(""1.1.2017"")"
Range("B6").Formula = "=HOUR(""12 Mar 2013 15:02"")"
Hodnota = Hour("16:08")
MsgBox (Hodnota)
Vrátí číslo týdne v roce (dle ISO)
Range("B4").Formula = "=ISOWEEKNUM(""1.1.2017"")"
Range("B5").FormulaLocal = "=ISOWEEKNUM(""1.1.2017"")"
Hodnota = Application.IsoWeekNum("1/1/2017")
MsgBox (Hodnota)
Převede pořadové číslo na měsíc.
Range("B4").Formula = "=MONTH(""12.3.2013"")"
Range("B5").FormulaLocal = "=MĚSÍC(""1.1.2017"")"
Range("B6").Formula = "=MONTH(""12 Mar 2013"")"
Hodnota = Month("12/31/2011")
MsgBox (Hodnota)
Převede pořadové číslo na minutu.
Range("B4").Formula = "=MINUTE(""12:24"")"
Range("B5").FormulaLocal = "=MINUTA(""5:15"")"
Range("B6").Formula = "=MINUTE(""10:25:15 dopoledne"")"
Hodnota = Minute("12:10")
MsgBox (Hodnota)
Počet celých pracovních dní mezi dvěma daty.
Range("B4").Formula = "=NETWORKDAYS(""2.1.2016"",""5.1.2016"")"
Range("B5").FormulaLocal = "=NETWORKDAYS(""2.1.2016"";""5.1.2016"")"
Hodnota = WorksheetFunction.NetworkDays("2/1/2016", "5/5/2016")
MsgBox (Hodnota)
v přípravě
v přípravě
Pořadové číslo aktuálního data a času.
Range("B4").Formula = "=NOW()"
Range("B5").FormulaLocal = "=NYNÍ()"
Hodnota = Now
MsgBox (Hodnota)
Převede pořadové číslo na rok.
Range("B4").Formula = "=YEAR(""12.3.2013"")"
Range("B5").FormulaLocal = "=ROK(""1.1.2017"")"
Range("B6").Formula = "=YEAR(""12 Mar 2013"")"
Hodnota = Year("12/31/2011")
MsgBox (Hodnota)
Počet dní mezi dvěma daty na základě roku s 360 dny.
Range("B4").Formula = "=DAYS360(""1.1.2010"", ""31.12.2010"")"
Range("B5").FormulaLocal = "=ROK360(""1.1.10""; ""31.12.10"")"
Hodnota = WorksheetFunction.Days360("1/1/2010", "12/12/2010")
MsgBox (Hodnota)
Převede pořadové číslo na sekundu.
Range("B4").Formula = "=SECOND(""15:20:45"")"
Range("B5").FormulaLocal = "=SEKUNDA(""15:22:34"")"
Hodnota = Second("12:15:24")
MsgBox (Hodnota)
Číslo představující číselnou pozici týdne v roce.
Range("B4").Formula = "=WEEKNUM(""1.1.2017"")"
Range("B5").FormulaLocal = "=WEEKNUM(""1.1.2017"")"
Hodnota = Application.IsoWeekNum("1/1/2017")
MsgBox (Hodnota)
Pořadové číslo data před nebo po zadaném počtu pracovních dní.
Range("B4").Formula = "= YEARFRAC(""2.1.2016"",""15.1.2016"")"
Range("B5").FormulaLocal = "= YEARFRAC(""8.1.2016"";""5.12.2016"")"
v přípravě
Pořadové číslo data před nebo po zadaném počtu pracovních dní bez víkendů.
v přípravě
v přípravě
Část roku vyjádřená zlomkem. Počet dní mezi počátečním a koncovým datem.
Range("B4").Formula = "= YEARFRAC(""2.1.2016"",""15.1.2016"")"
Range("B5").FormulaLocal = "= YEARFRAC(""8.1.2016"";""5.12.2016"")"
Hodnota = WorksheetFunction.YearFrac("2/1/2016", "5/5/2016")
MsgBox (Hodnota)
Další články související s logickými funkcemi:
Soubor v přípravě.
Využíváte nějaké VBA triky s logickými funkcemi, můžete zmínit v komentářích.
Článek byl aktualizován: 19.09.2020 11:06
Ušetřil vám tento web čas, peníze? Pomohl vyřešit problém? Jste ochotni poskytnout symbolickou odměnu na další rozvoj? Vybrte si formu odměny, která vám vyhovuje.
Microsoft Office (Word, Excel, Google tabulky, PowerPoint) se věnuji od roku 2000 (od 2004 na této doméně) - V roce 2017 jsem od Microsoft získal prestižní ocenění MVP (zatím jsem jediný z ČR v kategorií Excel). Své vědomosti a zkušenosti dávám k dispozici i on-line ve videích pro SEDUO. Ve firmách školím a konzultuji, učím na MUNI. Tento web již tvořím přes 15 let. Zdarma je zde přes 1.000 návodu, tipů a triků, včetně přes 250 různých šablon, sešitů.
Můžete být prvními co zanechají smysluplný komentář.
Pomohl Vám návod? Sdílejte na Facebooku, G+ |
||
LinkedIn... |
Stránky o MS Office (Excel) produktu společnosti Microsoft. Neslouží jako technická podpora.
| Email na autora: pavel.lasak@gmail.com | Copyright © : Pavel Lasák 2004 - 2025 |