Automatycznie aktualizuj komórkę w programie Excel z bieżącym znacznikiem czasu, gdy inna komórka zostanie zmieniona

11

W arkuszu kalkulacyjnym Excel chciałbym automatycznie aktualizować komórkę przy użyciu bieżącej daty i godziny, gdy zmieniana jest inna komórka (np. Znacznik czasu aktualizacji).

Dla każdego wiersza znajduje się znacznik czasu. Chciałbym je zaktualizować, gdy tylko jedna z poprzednich komórek w wierszu zostanie zaktualizowana.

Czy masz jakieś wskazówki, jak to zrobić?


źródło
1
Możliwy duplikat automatycznego wstawiania funkcji = now () w komórce, gdy piszę w innej i
wciskam
@Raystafarian: Mamy cykliczne duplikaty. To jest starsze pytanie. Jeśli oba zostaną zamknięte, zablokujemy wszystkie nowe odpowiedzi.
fixer1234

Odpowiedzi:

9

Utwórz komórkę o wartości Now (). Sformatuj go tak, jak chcesz - np. Rrrr / mm / dd GG: mm: ss, aby uzyskać pełny znacznik czasu w ciągu 24 godzin.

Teraz, dopóki jest ustawione automatyczne ponowne obliczanie (ustawienie domyślne), za każdym razem, gdy zmieni się inna komórka, otrzymasz nową sygnaturę czasową.

Po dalszej refleksji, jeśli chcesz mieć zakodowany znacznik czasu, który jest aktualizowany tylko przez działania nie obejmujące takich rzeczy, jak otwarty skoroszyt, drukowanie itp., Możesz utworzyć makro dołączone do arkusza_zmiany. Ustaw komórkę docelową jako tekst z określonym formatowaniem, jak poprzednio. Użyj czegoś takiego jak: Sheet1.Cells []. Wartość = Tekst (Now (), „rrrr / mm / dd GG: mm: ss”) w zdarzeniu Worksheet_Change.

Jeśli umieścisz to w szablonie, który ładuje się podczas uruchamiania, nigdy więcej nie będziesz musiał o tym myśleć.

wbogacz
źródło
+1 Podobnie jak druga odpowiedź lepiej niż pierwsza.
DaveParillo
Zaktualizowałem pytanie, aby lepiej odzwierciedlić potrzebę: dla każdego wiersza jest znacznik czasu. Chciałbym je zaktualizować, gdy tylko jedna z poprzednich komórek w wierszu zostanie zaktualizowana. Myślę więc, że makro jest tu potrzebne, jak wspomniałeś. Będę szukać w ten sposób. Dzięki.
Należy zauważyć, że wstawienie kodu do zdarzenia Worksheet_Change () spowoduje, że program Excel usunie stos cofania za każdym razem, gdy zostanie wykonany. Jeśli więc aktualizujesz wartości w innym miejscu arkusza, to rozwiązanie zasadniczo dezaktywuje cofanie dla tego arkusza jako efekt uboczny.
Ross McConeghy
8

http://chandoo.org/wp/2009/01/08/timestamps-excel-formula-help/ zawiera szczegółowe informacje na temat wdrażania znaczników czasu przy użyciu formuły rekurencyjnej. Działają ucztą.

W artykule opisano, jak najpierw włączyć formułę cykliczną (domyślnie wyłączona), a następnie jak utworzyć formułę cykliczną, która automatycznie wstawi znacznik czasu, gdy określona komórka ma wstawioną wartość.

Jeśli komórka zawierająca znacznik czasu to B3, a komórka do oglądania to C3, formuła jest następująca:

=IF(C3<>"",IF(B3="",NOW(),B3),"")

To znaczy, gdy C3 nie jest pusty, ustaw B3 na NOW () (jeśli B3 był pusty), w przeciwnym razie bieżąca wartość B3.

Wydaje się stabilny w porównaniu z aktualizacjami i zapisami.

Jonathan Wright
źródło