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.
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:
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.
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
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
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
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
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.
V přípravě
V případě námětu můžete doplnit v komentářích.
Článek byl aktualizován: 19.09.2020 11:06
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 .
Děkuji za váš čas a doufám, že jste nalezli odpověď na svůj problém.
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.
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.
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 |