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

Podpora - oceňte web a pozvěte mě na čokoládu

Pomohl vám článek? Vyřešili jste problém? Můžete mě podpořit zakoupení tabulky (samozdřejmě čokoládové), když kafe nepiji ;) Odkaz na zakoupení čokolády. Za veškerou podporu vám děkuji a samozdřejmě jí využiji do zdokonalování a rozšířování webu.

Případně přidejte odkaz na vaši oblíbenou sociální síť, případně využijste hashtag #JakNaExcel .

Poděkování

Děkuji za váš čas a doufám, že jste nalezli odpověď na svůj problém.

Vylepšení

Narazili jste v článku na nejasnost, chybu? Máte tip na vylepšení nebo doplnění článku? Budu rád pokud se zmínite v komentářích.


Pavel Lasák - autor webu

Pavel Lasák

Microsoft Office (Word, Excel, Google tabulky, PowerPoint) se věnuji od roku 2000 (od dubna roku 2004 na této doméně) - V roce 2017 jsem od Microsoft získal prestižní ocenění MVP (zatím 8x za sebou). 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 20 let (o Excel píší přes 25). Zdarma je zde přes 1.500 návodu, tipů a triků, včetně přes 350 různých šablon, sešitů a přes 70 taháků v pdf.

   Pavel Lasák LinkedIn Profil    Pavel Lasák twitter Profil





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