Ve spolupráci se SEDUO jsem vytvořil několik videokurzů:
Jak nastavovit požadovaný formát buňky pro datum, čas nebo datum s časem VBA makrem v MS Excelu. - včetně ukázkového příkladu zdarma ke stažení.
Při programování ve VBA mnohdy potřebujeme nastavit v buňce formát zobrazované hodnoty. Jakée jsou možnosti u data a času a jak to provést je popsáno v tomto článku. NA závěr je k dispozici ke stažení ukázkový příklad.
Nastavení den / měsíc / rok
Range("A5").NumberFormat = "dd/mmm/yyyy"
' nebo trochu jiný formát rok měsíc den
Range("A5").NumberFormat = "yyy/mm/ddd"
Nastavení data včetně času
Range("A9").Value = Format$(Now, "yyyy/mm/dd hh:mm:ss")
Vrátí počet dní(ů) hodin minut od pondělí tohoto týdne
Range("A13").Value = Format$(Now - (Date - Weekday(Date, vbMonday)), "\D\ni:d, \Ho\di\n: hh, \Mi\nut: nn")
Další příklad počet dnů od, v ukázce od ledna 2011
Dim datDatum As Date
datDatum = DateSerial(2011, 1, 1)
Range("A17").Value = (Now - dtDatum)
Range("A17").NumberFormat = "###"
Rok
datumMoje = Range("A24").Value
Range("A25").Value = Year(datumMoje)
Hrátky s formáty
Range("A28").NumberFormat = "dddd"
Range("A31").Value = Format$(DateSerial(Range("C31").Value, Range("D31").Value, Range("E31").Value), "yyyy/mmmm/ddd")
Range("A32").Value = Format$(DateSerial(Range("C31").Value, Range("D31").Value, Range("E31").Value), "yyyy/mm/d")
Ukázkový soubor
datum a čas formátování - ukázka ve VBA MS Excelu
- ke stažení zdarma. Obsahuje více ukázek. Poznámka: Soubor využívá makra.
Č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ů.
Přidáno: 06.01.13 18:01
Dobrý den, jak změnit formát u příkladu 5. Konkrétně změna formátu na NumberFormat...
Přidáno: 06.01.13 18:10
Ještě dodatek, jendá se mi o datum jako číslo...
Přidáno: 02.03.13 17:50
Prosím o pomoc programuji ve VBA a přeposílám data v txt souborech přes mail. Při načtení a zpracování, mám problém s převodem datumu... Je totiž uložen jako string např. "01.02.2013" zkoušel jsem to i přes datevalue(), ale je to nespolehlivé. V Excelu 2007 to nakonec běží, ale v Excelu 2010 to zase kolabuje. děkuji za pomoc
Přidáno: 03.03.13 17:03
To Josef: Jak to načítáte (kód)? Něco o načítaní je třeba zde http://stackoverflow.com/questions/11833114/excel-vba-import-txt-file-with-variable-column-width
Přidáno: 24.02.14 14:44
Dobrý den, prosím o pomoc jak získat datum v US formátu pro automatický filtr: .Range.AutoFilter Field:=8, Criteria1:=">=" + "01/09/2014 1:45:30 PM" Pokud zadám kritérium datum převedené na string, tak to nefunguje, je striktně vyžadován formát US i s AM a PM. nechce se mi skládat string z hodnot rok, měsíc, den, hodina, minuta, sekunda, plus AM nebo PM. Děkuji
Přidáno: 02.03.14 08:29
To Jip: Zkuste si pomoci přes číselné vyjádření časového údaje pomocí CLng (zpracuje pouze celočíselnou část, tedy datum) nebo CDbl (zpracuje datum i čas): Debug.Print Now & " - " & CLng(Now) Debug.Print Now & " - " & CDbl(Now) Pokud pracujete i s časem, je tam ještě komplikace v tom, že CDbl vrátí desetinnou čárku. Takže by bylo potřeba použít něco jako: t = "9.1.2014 13:45:30" Criteria1 = ">=" & CDbl(DateValue(t) + TimeValue(t)) Criteria1 = Replace(Criteria1, ",", ".")
Přidáno: 12.08.14 11:51
nema byt v pr. 2 "":mm:"? /MM nie NN/
Přidáno: 13.08.14 20:11
To okoloiduci: Má děkuji za skvělý postřeh. Opraveno.
Přidáno: 10.09.14 21:36
zdravím, mám problém s počítáním s datumy v E2010. Projekt, který mi funguje v 2007 mi v desítkách kolabuje. Když zapíšu datum ve formátu dd.mm.yyyy už se mi nedaří v 2010 s ním počítat a všechny osvědčené metody nefungují. Funguje jen v excel formátu. Jenže když to pošlu zformátovaně na textbox v UF a chci zpět uložit po opravě, je to natvrdo teěkuji a zdravím.
Přidáno: 16.10.14 09:21
Dobry den,
pri pocitani udajov vychadzam vzdy z predchafzajuceho datumu mesiaca t.j. prvy a posledny den predchadzajuceho mesiaca: lastday = DateSerial(Year(Date), Month(Date), 0)
firstday = lastday - Day(lastday) + 1
pri prvej slucke prepoctu mi to hodi korektne cisla naprikalad 48511 ale pri dalsej slucke prepoctu sa zmeni udaj v premennych na napr. 1.9.2014
tieto cisla vacsinou pouzivam ako filter na data z pre OBDC.. Je moznost zmenit dodatocne format v tychto premmenych skusal som natvrdo dat integer alebo double tak mi vyhodilo OBDC chybu v databaze je format podla poctu dni cize +-48000
Přidáno: 07.06.16 11:52
Dá sa z bunky, ktorá obsahuje text, odstrániť niekoľko medzier za textom (ale iba tie - napríklad ( red peter mxxx ) tie za mxxx. Ďakujem.
Přidáno: 13.06.16 10:49
To Jozef: -- Cells(1, 2) = RTrim(Cells(1, 1))
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 - 2024 |