Obsah
Tento článek ukazuje, jak v Excelu nastavit časové razítko při změně buňky. Možná budete potřebovat sledovat zadávání dat v buňkách určitého sloupce. Například jste si pro zadávání dat vyhradili sloupec B. Nyní chcete, aby se časové razítko v sousední buňce ve sloupci C zobrazilo, když se aktualizuje buňka ve sloupci B. Tento článek vám pomůže provést to dvěma efektivními způsoby.
Stáhnout cvičebnici
Cvičebnici si můžete stáhnout z níže uvedeného tlačítka ke stažení.
Časové razítko v aplikaci Excel.xlsm2 způsoby vložení časového razítka v aplikaci Excel při změně buňky
1. Použití funkcí IF, AND, NOW a dalších funkcí pro vložení časového razítka v aplikaci Excel
Podle následujících kroků získáte časové razítko pomocí vzorců, když se buňka změní.
📌 Kroky
- První tisk ALT+F+T otevřít Možnosti aplikace Excel Pak přejděte na Vzorce Dále zaškrtněte políčko Povolení iteračního výpočtu pak nastavte políčko Maximální počet iterací na 1. Poté klikněte na tlačítko OK.
- Nyní zadejte do buňky následující vzorec C5 . Poté přetáhněte Plnicí rukojeť zkopírujte vzorec do buněk níže.
=IF(AND(B5"",D5B5),NOW(),IF(B5="","",C5))
- Pak do buňky zadejte následující vzorec D5 . Dále přetáhněte Plnicí rukojeť ikonu do buněk níže jako dříve.
=IF(B5="","",IF(OR(C5="",AND(ISNUMBER(D5),B5=D5)),D5,B5))
- Nyní začněte zadávat hodnoty do buněk v sloupec B . Poté se zobrazí následující výsledek. Zde, sloupec D je pomocný sloupec. Můžete jej skrýt kliknutím pravým tlačítkem myši po výběru sloupce.
- Případně můžete do buňky zadat následující vzorec C5 abyste dosáhli stejného výsledku.
=IF(B5"",IF(C5="",NOW(),C5),"")
- Možná bude nutné změnit formátování buněk v položce sloupec C . Vyberte sloupec kliknutím na číslo sloupce v horní části. Poté stiskněte tlačítko CTRL+1 otevřít Formátování buněk Nyní klikněte na Vlastní Dále zadejte d-mmm-yyyy hh:mm:ss AM/PM v Typ Nakonec klikněte na tlačítko OK.
Rozdělení vzorců:
Vzorec v buňce C5:
➤ IF(B5="","",C5))
Na stránkách Funkce IF nevrací nic, pokud buňka B5 je prázdná. V opačném případě vrací stejnou hodnotu uloženou v položce C5 .
➤ NOW()
Na stránkách Funkce NOW vrátí aktuální datum a čas.
➤ A(B5"",D5B5)
Na stránkách Funkce AND vrací TRUE pokud jsou oba argumenty pravdivé, tj. buňka B5 není prázdný a buňky B5 a D5 nemají stejnou hodnotu.
➤ IF(AND(B5"",D5B5),NOW(),IF(B5="","",C5))
Pokud Funkce AND vrací TRUE , pak Funkce IF vrátí aktuální datum a čas získaný z Funkce NOW . V opačném případě vrátí výsledek získaný z argumentu obsahujícího parametr Funkce IF .
Vzorec v buňce D5:
➤ ISNUMBER(D5)
Na stránkách Funkce ISNUMBER vrací TRUE pokud buňka D5 obsahuje číslo. V opačném případě vrací False .
➤ A(ISNUMBER(D5),B5=D5)
Na stránkách Funkce AND vrací TRUE pokud buňka D5 obsahuje číslo a buňky B5 a D5 mají stejnou hodnotu. Vrací FALSE v opačném případě.
➤ OR(C5="",AND(ISNUMBER(D5),B5=D5))
Na stránkách Funkce NEBO vrací TRUE pokud je některý z argumentů pravdivý, tj. buňka C5 je prázdný nebo Funkce AND vrací TRUE . Vrací se FALSE pokud jsou všechny argumenty false.
➤ IF(OR(C5="",AND(ISNUMBER(D5),B5=D5)),D5,B5)
Na stránkách Funkce IF vrátí stejnou hodnotu uloženou v buňce D5 pokud Funkce NEBO vrací TRUE . V opačném případě vrátí hodnotu buňky B5 .
➤ IF(B5="","",IF(OR(C5="",AND(ISNUMBER(D5),B5=D5)),D5,B5)))
Na stránkách Funkce IF nevrací nic, pokud buňka B5 je prázdný. V opačném případě vrátí výsledek získaný z argumentu obsahujícího hodnotu Funkce IF .
Další informace: Jak vložit časové razítko aplikace Excel při změně buňky bez VBA (3 způsoby)
Podobná čtení
- Jak vložit statické datum v aplikaci Excel (4 jednoduché metody)
- Excel VBA: Vložení časového razítka při spuštění makra
- Jak vložit razítko data aplikace Excel při změně buněk v řádku
- Převod časového razítka systému Unix na datum v aplikaci Excel (3 metody)
2. Použití kódu VBA pro vložení časového razítka do aplikace Excel při změně buňky
Časové razítko můžete v Excelu získat také při změně buňky pomocí VBA. Abyste to mohli provést, postupujte podle níže uvedených kroků.
📌 Kroky
- Nejprve klikněte pravým tlačítkem myši na kartu cílového listu. Poté vyberte možnost Zobrazit kód . Tím se otevře modul kódu pro daný pracovní list.
- Poté zkopírujte následující kód pomocí tlačítka Kopírovat v pravém horním rohu.
Private Sub Worksheet_Change(ByVal Target As Range) Dim CellCol, TimeCol, Row, Col As Integer Dim DpRng, Rng As Range CellCol = 2 TimeCol = 3 Row = Target.Row Col = Target.Column If Row <= 4 Then Exit Sub Timestamp = Format(Now, "DD-MM-YYYY HH:MM:SS AM/PM") If Target.Text "" Then If Col = CellCol Then Cells(Row, TimeCol) = Timestamp Else On Error Resume Next Set DpRng = Target.Dependents ForEach Rng In DpRng If Rng.Column = CellCol Then Cells(Rng.Row, TimeCol) = Timestamp End If Next End If End If End Sub
- Poté vložte zkopírovaný kód do prázdného modulu, jak je uvedeno níže.
- Poté dokument uložte jako sešit s povolenými makry . Nyní začněte zadávat data do buněk ve sloupci B. Pak dostanete stejné výsledky jako dříve.
Vysvětlení kódu VBA:
Soukromý Sub Worksheet_Change(ByVal Target As Range)
Dim CellCol, TimeCol, Row, Col As Integer
Dim DpRng, Rng jako rozsah
Deklarace potřebných proměnných.
CellCol = 2
Sloupec pro zadávání dat.
TimeCol = 3
Sloupec časového razítka.
Row = Target.Row
Col = Target.Column
Uložení čísla řádku a sloupce vybrané buňky.
If Row <= 4 Then Exit Sub
Jakékoli změny v horních 4 řádcích nevytvoří časové razítko.
Časové razítko = Format(Now, "DD-MM-RRRR HH:MM:SS AM/PM")
Časové razítko bude formátováno tímto způsobem. Změňte jej podle potřeby.
If Target.Text "" Then
If Col = CellCol Then
Cells(Row, TimeCol) = Časové razítko
Vytvoří časové razítko, pokud je vybraná buňka prázdná.
Při chybě pokračovat Další
Ignoruje případné chyby, pokud k nim dojde.
Set DpRng = Target.Dependents
Pro každý Rng In DpRng
If Rng.Column = CellCol Then
Cells(Rng.Row, TimeCol) = Časové razítko
Vytvoří časové značky pro rozsah buněk, pokud nejsou prázdné.
Další informace: Jak automaticky vkládat časová razítka do aplikace Excel (5 metod)
Na co nezapomenout
- Abyste získali správně naformátované časové razítko, musíte pro buňky ve sloupci B použít vlastní formát.
- Alternativní vzorec funguje pouze tehdy, když jsou data zadána do prázdných buněk.
- V tomto případě jsou zadávání dat a sloupec časového razítka pevně zakódovány v kódu VBA. Kód je třeba upravit na základě vaší datové sady.
Závěr
Nyní již víte, jak v Excelu při změně buňky označit časovým razítkem. Máte nějaké další dotazy nebo návrhy? Využijte k tomu prosím níže uvedenou sekci komentářů. Můžete také navštívit náš web. ExcelWIKI blog a dozvíte se více o Excelu. Zůstaňte s námi a učte se dál.