Přeskočit navigaci | Přeskočit na novinky
     

Jste zde: Úvodní stránka » excel » vba-funkce-vzorce » zapis-aktualni-cas-do-bunky-excel-vba

Zapsat aktuální čas do buňky - VBA Excel

Videokurzy Excel

Ve spolupráci se SEDUO jsem vytvořil několik videokurzů:

Jak pomocí VBA zapsat do buňky aktuální čas. Zareaguje například na změnu v jiné buňce. Stisk tlačítka na listu atd.

Úvodem

Logo

V tomto článku dozvíte jak na vkládání data (času) do buněk pomocí VBA v Microsoft Excelu. Pro přehlednost je dělen do kapitol:


Předpokládané znalosti

V tomto článku předpokládám, že umíte použít funkce pro vložení datumu (času) pomocí VBA. Pokud ne doporučuji si tento článek přečíst.

Zpět na seznam kapitol.

Událost změna v buňce

Nejprve musíte odchytit událost, při změně v buňce.

Private Sub Worksheet_Change(ByVal Target As Range) MsgBox "Změněna byla buňka: " & Target.Address End Sub

Do dialogového okna se vypíše adresa buňky.

Podobně lze vypsat řádek a sloupec

MsgBox "Změněna buňka v řádku: " & Target.Row MsgBox "Změněna buňka ve sloupci: " & Target.Column

Zpět na seznam kapitol.

Omezení na některý sloupec

Budete-li chtít odchytávat událost jen pro druhý sloupec.

Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column = 2 Then MsgBox "Změněna byla buňka: " & Target.Address End If End Sub

Zpět na seznam kapitol.

Zápis aktuálního času do A1

Například do buňky A1 zapíšete aktuální čas.

Range("A1").Value = Format$(Now, "yyyy/mm/dd hh:nn:ss")

Případně takto:

Cells(1, 1).Value = Format$(Now, "yyyy/mm/dd hh:nn:ss")

Takže celkový kód, kdy pokud dojde ke změně v sloupci 2, bude do buňky A1 zapsán aktuální datu a čas.

Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column = 2 Then Cells(1, 1).Value = Format$(Now, "yyyy/mm/dd hh:nn:ss") End If End Sub

Zpět na seznam kapitol.

Zápis času do zvolené buňky

Pokud chcete zapsat do stejného řádku, ve kterém došlo ke změně. Což už je jednoduchý. Zjistíte řádek.

i = Target.Row

Na totmo řádku zapíšete:

Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column = 2 Then i = Target.Row Cells(i, 1).Value = Format$(Now, "yyyy/mm/dd hh:nn:ss") End If End Sub

Zpět na seznam kapitol.

Další doplnění a úpravy kódu

Při provádění události Worksheet_Change může dojít k zacyklení. Událost Change - provede se zápis do buňky, což je opět událost Change atd. Takže kód pro zápis do buňky je nutno doplnit o vypnutí zachytávání této události.

Application.EnableEvents = False ' zapsání do buňky Application.EnableEvents = True

Poznámka: Děkuji Petrovi Pecháčekovi z excelplus.net za rychlý postřeh, je rychlejší než moje schopnost dopsat článek.

Zpět na seznam kapitol.

Ke stažení

V přípravě

Závěrem

V případě námětu můžete doplnit v komentářích.

Článek byl aktualizován: 19.09.2020 11:06

Odměna

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.


Pavel Lasák - autor webu

Pavel Lasák

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ů.

   Pavel Lasák LinkedIn Profil    Pavel Lasák Google+ Profil    Pavel Lasák facebook Profil    Pavel Lasák twitter Profil


Komentáře

" ; // echo "kompletni_cesta :" ; // echo $adresar_pro_vkladani ; // echo "
" ; // echo " Tady bude možnost přidání komentáře" ; // echo "
" ; // echo "
" ; $kompletni_cesta = "komentare"; $adresar_pro_vkladani = $kompletni_cesta; ?> \n"; reset($polozky); while (list($key, $val) = each($polozky)) { if ($val != "." && $val != "..") { if (!is_dir($val)) { // echo "$val
\n"; $fp = FOpen ($adresar_pro_vkladani."/".$val, "r"); //otevře soubor book.dat pro čtení $data = FRead ($fp, FileSize($adresar_pro_vkladani."/".$val)); //přečte data ze souboru a uloží do proměnné "data" - kvůli tomu aby se zobrazoval poslední příspěvek nahoře FClose($fp); echo "$data"; } } } ?>





Sdílejte

Pomohl Vám návod?
Sdílejte na Facebooku, G+
LinkedIn...

Nové články


Reklama


TOPlist Licence Creative Commons webarchiv rss XML

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 - 2020 |