Note: The other languages of the website are Google-translated. Back to English

Wie werden Datum und Uhrzeit automatisch aufgezeichnet, wenn sich die Zelle ändert?

Es ist für uns einfach, statisches Datum und Uhrzeit manuell einzufügen oder ein dynamisches Datum, das sich mit der Systemzeit ändert, mit einer Formel einzufügen. Wenn Sie Datum und Uhrzeit automatisch aufzeichnen möchten, wenn Sie Werte ändern oder eingeben, kann dieses Problem etwas anders sein. In diesem Artikel können Sie diese Aufgabe jedoch mit den folgenden Schritten lösen.

Zeichnen Sie Datum und Uhrzeit automatisch auf, wenn sich die Zelle mit VBA-Code ändert

Registerkarte "Office" Aktivieren Sie das Bearbeiten und Durchsuchen von Registerkarten in Office und vereinfachen Sie Ihre Arbeit erheblich ...
Kutools for Excel löst die meisten Ihrer Probleme und erhöht Ihre Produktivität um 80%
  • Alles wiederverwenden: Fügen Sie Ihren Favoriten die am häufigsten verwendeten oder komplexesten Formeln, Diagramme und alles andere hinzu und verwenden Sie sie in Zukunft schnell wieder.
  • Mehr als 20 Textfunktionen: Nummer aus Textzeichenfolge extrahieren; Teile von Texten extrahieren oder entfernen; Zahlen und Währungen in englische Wörter umwandeln.
  • Tools zusammenführen: Mehrere Arbeitsmappen und Blätter in einem; Zusammenführen mehrerer Zellen / Zeilen / Spalten ohne Datenverlust; Doppelte Zeilen und Summe zusammenführen.
  • Werkzeuge teilen: Aufteilen von Daten in mehrere Blätter basierend auf dem Wert; Eine Arbeitsmappe für mehrere Excel-, PDF- oder CSV-Dateien; Eine Spalte zu mehreren Spalten.
  • Einfügen überspringen Versteckte / gefilterte Zeilen; Zählen und summieren nach Hintergrundfarbe;; Senden Sie personalisierte E-Mails in großen Mengen an mehrere Empfänger.
  • Superfilter: Erstellen Sie erweiterte Filterschemata und wenden Sie sie auf alle Blätter an. Sortieren nach Woche, Tag, Häufigkeit und mehr; Filter durch Fettdruck, Formeln, Kommentar ...
  • Mehr als 300 leistungsstarke Funktionen; Funktioniert mit Office 2007-2021 und 365; Unterstützt alle Sprachen; Einfache Bereitstellung in Ihrem Unternehmen oder Ihrer Organisation.

Pfeil blau rechte Blase Zeichnen Sie Datum und Uhrzeit automatisch auf, wenn sich die Zelle mit VBA-Code ändert

Ich habe beispielsweise einen Wertebereich. Wenn ich jetzt neue Werte in Spalte B ändere oder eingebe, möchte ich, dass das aktuelle Datum und die aktuelle Uhrzeit in Spalte C automatisch aufgezeichnet werden, wie im folgenden Screenshot gezeigt:

doc-update-time-value -änderungen-1

Sie können diese Aufgabe mit folgendem VBA-Code beenden. Bitte machen Sie Folgendes:

1. Halten Sie die Taste gedrückt ALT + F11 Schlüssel zum Öffnen der Microsoft Visual Basic für Applikationen-Fenster.

2. Wählen Sie dann links Ihr verwendetes Arbeitsblatt aus Projekt ExplorerDoppelklicken Sie darauf, um das zu öffnen ModulKopieren Sie anschließend den folgenden VBA-Code und fügen Sie ihn in das leere Modul ein:

VBA-Code: Datum und Uhrzeit werden automatisch aufgezeichnet, wenn sich die Zelle ändert

Private Sub Worksheet_Change(ByVal Target As Range)
'Update 20140722
Dim WorkRng As Range
Dim Rng As Range
Dim xOffsetColumn As Integer
Set WorkRng = Intersect(Application.ActiveSheet.Range("B:B"), Target)
xOffsetColumn = 1
If Not WorkRng Is Nothing Then
    Application.EnableEvents = False
    For Each Rng In WorkRng
        If Not VBA.IsEmpty(Rng.Value) Then
            Rng.Offset(0, xOffsetColumn).Value = Now
            Rng.Offset(0, xOffsetColumn).NumberFormat = "dd-mm-yyyy, hh:mm:ss"
        Else
            Rng.Offset(0, xOffsetColumn).ClearContents
        End If
    Next
    Application.EnableEvents = True
End If
End Sub

doc-update-time-value -änderungen-1

3. Speichern und schließen Sie diesen Code, um zum Arbeitsblatt zurückzukehren. Wenn Sie nun den Zellenwert ändern oder neue Daten in Spalte B eingeben, werden Datum und Uhrzeit automatisch in Spalte C aufgezeichnet.

Hinweise:

1. Im obigen Code können Sie die Option „B: B.”Zu einer anderen Spalte, in der Sie die Zellenwerte in diesem Skript ändern möchten: Setzen Sie WorkRng = Intersect (Application.ActiveSheet.Range ("B: B"), Target).

2. Damit xOffsetSpalte = 1 Skript können Sie Datum und Uhrzeit in die erste Spalte neben Ihrer Spalte mit dem sich ändernden Wert einfügen und aktualisieren. Sie können die Nummer 1 in andere Zahlen ändern, z. B. 2,3,4,5. Dies bedeutet, dass das Datum eingefügt wird zweite, dritte, vierte oder fünfte Spalte neben der Spalte mit den geänderten Werten.

3. Wenn Sie einen Wert in der geänderten Spalte löschen, werden auch Datum und Uhrzeit entfernt.


Die besten Tools für die Office-Produktivität

Kutools for Excel löst die meisten Ihrer Probleme und erhöht Ihre Produktivität um 80%

  • Wiederverwendung: Schnell einfügen komplexe Formeln, Diagramme und alles, was du vorher benutzt hast; Zellen verschlüsseln mit Passwort; Mailingliste erstellen und E-Mails senden ...
  • Super Formelriegel (leicht mehrere Textzeilen und Formeln bearbeiten); Layout lesen (leichtes Lesen und Bearbeiten einer großen Anzahl von Zellen); In gefilterten Bereich einfügen...
  • Zellen / Zeilen / Spalten zusammenführen ohne Daten zu verlieren; Inhalt geteilter Zellen; Kombinieren Sie doppelte Zeilen / Spalten... doppelte Zellen verhindern; Bereiche vergleichen...
  • Wählen Sie Duplizieren oder Eindeutig Reihen; Wählen Sie Leere Zeilen (alle Zellen sind leer); Super Find und Fuzzy Find in vielen Arbeitsmappen; Zufällige Auswahl ...
  • Exakte Kopie Mehrere Zellen ohne Änderung der Formelreferenz; Referenzen automatisch erstellen zu mehreren Blättern; Aufzählungszeichen einfügen, Kontrollkästchen und mehr ...
  • Text extrahieren, Text hinzufügen, Nach Position entfernen, Leerzeichen entfernen;; Paging-Zwischensummen erstellen und drucken; Inhalt und Kommentare zwischen Zellen konvertieren...
  • Superfilter (Speichern und Anwenden von Filterschemata auf andere Blätter); Erweiterte Sortierung nach Monat / Woche / Tag, Häufigkeit und mehr; Spezialfilter fett, kursiv ...
  • Kombinieren Sie Arbeitsmappen und Arbeitsblätter;; Tabellen basierend auf Schlüsselspalten zusammenführen; Daten in mehrere Blätter aufteilen; Batch-Konvertierung von xls, xlsx und PDF...
  • Mehr als 300 leistungsstarke Funktionen. Unterstützt Office / Excel 2007-2021 und 365. Unterstützt alle Sprachen. Einfache Bereitstellung in Ihrem Unternehmen oder Ihrer Organisation. 30-tägige kostenlose Testversion mit allen Funktionen. 60 Tage Geld-zurück-Garantie.
kte tab 201905

Office Tab Bringt die Oberfläche mit Registerkarten in Office und erleichtert Ihnen die Arbeit erheblich

  • Aktivieren Sie das Bearbeiten und Lesen von Registerkarten in Word, Excel und PowerPoint, Publisher, Access, Visio und Project.
  • Öffnen und erstellen Sie mehrere Dokumente in neuen Registerkarten desselben Fensters und nicht in neuen Fenstern.
  • Steigert Ihre Produktivität um 50 % und reduziert jeden Tag Hunderte von Mausklicks für Sie!
officetab unten
Kommentare (108)
Noch keine Bewertungen. Bewerten Sie als Erster!
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Wie schreiben Sie den Code, um dies mehrmals auf einer Seite zu tun? Bsp. Text in Spalte B, Datum in C und Text in D, Datum in E?
Dieser Kommentar wurde vom Moderator auf der Website minimiert
[quote]Wie schreiben Sie den Code, um dies mehrmals auf einer Seite zu tun? Bsp. Text in Spalte B, Datum in C und Text in D, Datum in E?Von Hilary[/quote] Ich weiß, das ist alt, aber der lange, aber einfache Weg besteht darin, die Variablendeklarationen zu kopieren und neue Variablen zu erstellen (z. B. WorkRng1 und Rng1). Sie müssen auch die "if"-Anweisung kopieren und die Variablen auf die neuen Variablennamen ändern.
Dieser Kommentar wurde vom Moderator auf der Website minimiert
[quote]Wie schreiben Sie den Code, um dies mehrmals auf einer Seite zu tun? Bsp. Text in Spalte B, Datum in C und Text in D, Datum in E?Von Hilary[/quote] Hier ist der Code: Private Sub Worksheet_Change(ByVal Target As Range) 'Aktualisiere 20140722 Dim WorkRng As Range Dim Rng As Range Dim xOffsetColumn As Integer 'Ändere den Bereich, um die Spalte auszuwählen, die du aktualisierst, dh ("A: A") oder ("B:B") Set WorkRng = Intersect(Application.ActiveSheet.Range("E:E"), Target) xOffsetColumn = 1 'Für den zweiten Zeitstempel 'Neue Variablennamen erstellen, z. B. WorkRng1, Rng1 usw. Dim WorkRng1 As Range Dim Rng1 As Range Dim xOffsetColumn1 As Integer Set WorkRng1 = Intersect(Application.ActiveSheet.Range("G:G"), Target) xOffsetColumn1 = 1 'Für den ersten Zeitstempel, wenn Not WorkRng nichts ist Then Application.EnableEvents = False For Each Rng In WorkRng If Not VBA.IsEmpty(Rng.Value) Then Rng.Offset(0, xOffsetColumn).Value = Now Rng.Offset(0, xOffsetColumn).NumberFormat = "mm/dd/ yyyy" Else Rng.Offset(0, xOffsetColumn).ClearContents End If Next Application.EnableEvents = True End If 'Für den zweiten Zeitstempel If Not WorkRng1 Is Nothing Then Application.EnableEve nts = False For Each Rng1 In WorkRng1 If Not VBA.IsEmpty(Rng1.Value) Then Rng1.Offset(0, xOffsetColumn1).Value = Now Rng1.Offset(0, xOffsetColumn1).NumberFormat = "mm/dd/yyyy" Else Rng1.Offset(0, xOffsetColumn1).ClearContents End If Next Application.EnableEvents = True End If End Sub
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Was ist, wenn ich dies für eine Reihe von Spalten tun möchte?
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Ändern Sie den Bereich (B:B) wie folgt: (10:20) für die Spalten 10 bis 20 (D5:D40) für die Spalten 5 bis 40 in Zeile D. Hoffe, es hilft.
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Tut mir leid, ich vertausche Spalten mit Zeilen, aber es funktioniert immer noch. (D:P) Von Spalte D nach P (D5:D5) Von Spalte D nach P in Zeile 5
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Wenn ich es speichere, funktioniert es, aber wenn ich es wieder öffne, funktioniert es nicht
Dieser Kommentar wurde vom Moderator auf der Website minimiert
[quote]Wenn ich es speichere, funktioniert es, aber wenn ich es wieder öffne, funktioniert es nichtVon Aarif[/quote] Dasselbe Problem wie bei Aarif ... Vor einer halben Stunde hat es wunderbar funktioniert, und jetzt nicht mehr ... Außerdem wollte ich nur die Uhrzeit, nicht das Datum UND die Uhrzeit, also habe ich das ".NumberFormat" bearbeitet nur hh:mm:ss, gespeichert, getestet ... nicht anders ... immer noch das Datum und die Uhrzeit eingeben ...? öffnete das VB erneut und tippte einen begrenzten Text ein, speicherte erneut, immer noch nicht gut, dann tat ich es ein drittes Mal, und das Format tat, wie es gesagt wurde, und plötzlich hatte ich genau die Zeit. SEHR seltsam Ich habe lange gedacht, dass Excell heimgesucht wird, seit ich zum ersten Mal die Suchfunktion verwendet habe und nach einem Wert in einer Zelle gesucht habe, die ich mit meinen eigenen Augen sehen konnte, aber Excel hat darauf bestanden, dass es ihn nicht gibt!? Irgendwelche Excel-Gurus oder Exorzisten, die helfen können? warum ignoriert es mein VB und zeitstempelt NICHT wie es tat ...? danke :wein:
Dieser Kommentar wurde vom Moderator auf der Website minimiert
[quote]Wie schreiben Sie den Code, um dies mehrmals auf einer Seite zu tun? Bsp. Text in Spalte B, Datum in C und Text in D, Datum in E?Von Hilary[/quote] was ist die Antwort auf das Zitat
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Was ist, wenn ich möchte, dass dies ausgeführt wird, sich aber nicht auf einem aktiven Blatt befindet, also im Hintergrund ausgeführt und aktualisiert wird, wenn es einen Eintrag in der B-Spalte gibt?
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Was ist, wenn die Spalte, die die Zeitstempelspalte beeinflusst, die Summe mehrerer anderer Spalten ist? Zum Beispiel ... Spalte H ist = Summe (E + F + G) und ich möchte, dass jedes Mal, wenn Spalte H geändert wurde, oder im Wesentlichen, wenn die Spalten E, F oder G geändert wurden, ein Zeitstempel in Spalte I erstellt wird . Können Sie bitte helfen??
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Ich brauche bitte Hilfe! Ich versuche, jedes Mal, wenn eine von drei Zellen geändert wird, einen Zeitstempel zu erstellen. Ich möchte dies idealerweise tun, wenn sich die Summe dieser Zellen geändert hat. Zum Beispiel. Die Zellen E, F, G werden geändert und Zelle H ist die SUMME dieser drei Zellen. Wenn Zelle H geändert wurde, möchte ich, dass Zelle I mit einem Zeitstempel versehen wird. Ist das möglich?? Vielen Dank
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Ich versuche, den obigen Code auszuführen; Die Zelle, deren Änderung ich aufzeichnen möchte, ist jedoch mit einem Kontrollkästchen verknüpft und ist daher entweder "TRUE" oder "FALSE". Aus irgendeinem Grund funktioniert der Code nicht, wenn sich die Zelle ändert. Wenn ich jedoch "ja" manuell einfüge, funktioniert der Code einwandfrei. Ist Ihnen eine Problemumgehung für dieses Problem bekannt? Danke!
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Ist dies für historische Daten möglich? Wenn ich gestern oder vor einem Monat Änderungen an einer Zelle vorgenommen habe, kann ich eine Form dieses Codes verwenden, um diese Daten abzurufen?
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Gibt es eine Möglichkeit, einen Zeitstempel basierend auf einer bestimmten Änderung zu erstellen? Zum Beispiel habe ich eine Tabelle mit einer Spalte mit Dropdown-Optionen, einschließlich Leerzeichen, „Ok“ und „Handeln“. Wenn die Aufgabe abgeschlossen ist, wird das Dropdown-Menü manuell verwendet, um „Ok“ auszuwählen. Ich möchte, dass der Datumsstempel verknüpft wird, wenn „Ok“ ausgewählt ist, aber nicht, wenn „Act“ ausgewählt ist. Die Option „Handeln“ im Dropdown-Menü wird verwendet, wenn eine Aufgabe überfällig ist, aber ich versuche wirklich nur zu verfolgen, wann ein Element abgeschlossen ist. Gibt es eine Möglichkeit, dies mit dem obigen Code zu erreichen? Vielen Dank!
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Konntest du das lösen?
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Es ist eine sehr gute Frage. Hast du es geklärt, kannst du bitte den Weg teilen?
dank
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Ich kann den Bereich ändern, um ("A: Q") zu sein, aber ich brauche das Datum und die Uhrzeit, um in "S" zu gehen, wenn die Daten in einer AQ-Zelle geändert/entfernt werden. Ich bin VBA herausgefordert. Jede Hilfe wird sehr geschätzt!
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Entschuldigung, ich habe gerade eine Frage gestellt und brauche die Antwort darauf ... Ich muss diesen Kommentar übersehen haben ... hoffentlich kann jemand helfen!
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Wie ändere ich es so, dass sich nur das Datum der angrenzenden Zelle ändert?
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Wie erhalte ich den Zeitstempel, der in einer bestimmten Zelle aufgezeichnet wird, anstatt in der Zelle neben der geänderten? Ich versuche, eine Reihe von Zellen mit einem Zeitstempel zu versehen, wenn in einer dieser Zellen eine Änderung auftritt. Ich möchte, dass der Zeitstempel in einer bestimmten Zelle aufgezeichnet wird ... kann jemand dabei helfen? Danke!
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hallo, vielen Dank dafür, da es für die Prüfbarkeit von WB großartig ist. Gibt es eine Möglichkeit, dies zu ändern, damit das Datum/die Uhrzeit irgendwo auf der WB protokolliert wird, wenn ein Kommentar hinzugefügt oder geändert wird? Ich weiß, dass dies eine allgemeine Frage ist, aber ich bin mir nicht sicher, ob es möglich ist (leider enthält die Eigenschaft .comment für MS 2010 keine Datumseigenschaft, um zu identifizieren, wann sie eingegeben wurde. Mike
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Wie kann ich konfigurieren, um die A:A-Spalte zu lesen und nur dann einen Zeitstempel in B:B zu geben, wenn eine 14-stellige Zahl darin eingegeben wird?
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hallo, ich brauche Hilfe bei der VBA-Codierung. Ich erstelle eine Tabelle mit Fällen, die Personen zugewiesen werden und einen Fallstatus haben. Der Beauftragte befindet sich in Spalte H und ich brauche einen Datumsstempel in Spalte I, wenn die Zelle in Spalte H aktualisiert oder mit einem Namen geändert wird. Ebenso werde ich den Fallstatus in Spalte J haben und einen Datumsstempel in Spalte K benötigen, wenn ein Status eingegeben oder geändert wird. Auch wenn es keinen Namen oder Status des Bevollmächtigten gibt, muss der Datumsstempel in Spalte I und K leer sein. Jede Hilfe wäre willkommen. Vielen Dank
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Ich habe diesen Code an anderer Stelle gefunden und für meine Verwendung modifiziert. Wenn Sie es richtig gemacht haben, müssen Sie sich keine Gedanken darüber machen, eine Funktion in eine Zelle einzugeben oder die Datei bei jedem Öffnen auf das Datum dieses Tages zu ändern. - Öffnen Sie Excel - Drücken Sie "Alt+F11" - Doppelklicken Sie auf das Arbeitsblatt, auf das Sie die Änderung anwenden möchten (auf der linken Seite aufgeführt) - Kopieren Sie den folgenden Code und fügen Sie ihn ein - Passen Sie die Range(_:_)-Eingabe entsprechend an zu der Spalte, die Sie aktualisieren möchten - passen Sie die Eingabe Offset(0,_) so an, dass sie der Spalte entspricht, in der das Datum angezeigt werden soll (in der Version unten nehme ich Aktualisierungen an Spalte D vor und ich möchte, dass das Datum in Spalte F angezeigt wird, daher die Eingabe von "2" für 2 Spalten über Spalte D) - klicken Sie auf Speichern - wiederholen Sie die obigen Schritte, wenn es andere Arbeitsblätter in Ihrer Arbeitsmappe gibt, die denselben Code benötigen - Sie müssen möglicherweise das Zahlenformat der Spalte ändern, die die anzeigt Datum auf „Allgemein“ und vergrößern Sie die Breite der Spalte, wenn „####“ angezeigt wird, nachdem Sie einen aktualisierten Eintrag vorgenommen haben Code unten kopieren/einfügen: ____________________________________________________________ Private Sub Worksheet_Change(ByVal Target As Range) D:D")) ist nichts, dann Exit Sub Target.Offset(0, 2) = Date End Sub ___ _________________________________________________________ Viel Glück...
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Dieser Code zeigt das Datum an, wenn er angezeigt wird. Ist es möglich, das Datum nur anzuzeigen, wenn der Inhalt in der Zelle geändert wird, wenn nur geklickt und nichts geändert wird, dann wird das Datum nicht angezeigt oder das zuvor eingegebene Datum bleibt?
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Wenn ich in einem Makro eine Vloocup-Formel aufzeichne, wie kann ich das Datum automatisch auf 1 Tag ändern? Wie am 21, dann am nächsten Tag auf den 07 geändert Bitte teilen Sie automatisch, ob es einen VBA-Code gibt.
Dieser Kommentar wurde vom Moderator auf der Website minimiert
ersetze diese Zeile
Rng.Offset(0, xOffsetColumn).Value = Jetzt

zu
Rng.Offset(0, xOffsetColumn).Value = Now+1
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Vielen Dank für den Code! Genau das was ich gesucht habe!!
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Danke für Ihre Hilfe :-)
Es sind noch keine Kommentare vorhanden
Mehr laden
Hinterlassen Sie Ihre Kommentare
Als Gast posten
×
Bewerte diese Nachricht:
0   Figuren
Vorgeschlagene Standorte

Folgen Sie uns

Copyright © 2009 - www.extendoffice.com. | Alle Rechte vorbehalten. Unterstützt von ExtendOffice. | Sitemap
Microsoft und das Office-Logo sind Marken oder eingetragene Marken der Microsoft Corporation in den USA und / oder anderen Ländern.
Geschützt durch Sectigo SSL