Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Bei Zeilenänderung aktuelles Datum eintragen

Bei Zeilenänderung aktuelles Datum eintragen
Mike
Hi nochmal,
gibt es eine Möglichkeit, dass bei einer Änderung in einer Zeile (Blatt 1, Bereich A1:L500 und N1:O500) automatisch das aktuelle Datum in Spalte M eingetragen wird ?
Mit Änderung meine ich nur Wertänderungen, d.h. manuelle Eingaben oder Auswahlen aus Listboxen in den jeweiligen Zellen, Formatänderungen sind mir dabei nicht wichtig.
Falls Ihr eine Idee habt, würde ich mich auch über eine kurze Info dazu freuen, ob eine solche Lösung die Datei evtl. langsamer oder anfälliger für Abstürze machen könnte.
VG und vielen Dank im Voraus für jeden Tipp,
Mike
Anzeige

40
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Bei Zeilenänderung aktuelles Datum eintragen
Mike
Hallo Hajo,
vielen Dank, das ist spitze ! Der Code von Blatt 1 ist fast genau, wonach ich gesucht hatte !
Was muss ich denn ändern, wenn ich das Datum nicht in der jeweils nächsten Spalte, sondern immer in Spalte M eingetragen haben möchte ?
VG,
Mike
Anzeige
schau doch in den Code-Offset....
robert
AW: was meisnt Du mit Offset ? oT
Mike
oT
so wie ichs meine..
robert
Hi Mike,
auch bei VBA bescheiden sollte man einen Code zumindest lesen können.
Dor gibt es u.a. das Wort -Offset- und da wird bestimmt, wo das Datum hingeschrieben wird.
Offset(0,1) bedeutet-gleiche Zeile, eine Spalte rechts von der activen Zelle.
Und jetzt probier mal aus, was Du statt der 1 in dem Offset-Befehl ändern musst, um in
die Spalte M einzutragen.
Macht doch viel mehr Spass, als sich fertige Lösungen geben zu lassen, ohne zu wissen,
was passiert-oder ;-)
Gruß
robert
Anzeige
AW: so wie ichs meine..
Mike
Danke, Robert - ich werde es gerne ausprobieren.
Viele Grüße,
Mike
Offset ist nicht nötig bei fixer Spalte(M) ;-) oT
Matthias
Hallo
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A1:O500")) Is Nothing Then
If Target.Column  13 Then
Cells(Target.Row, 13) = Date
End If
End If
End Sub

Gruß Matthias
Anzeige
AW: Offset ist nicht nötig bei fixer Spalte(M) ;-) oT
Mike
Hallo Matthias,
das ist ja super und so wenig Code ! :-)
Für mich reicht das völlig aus und funktioniert perfekt - damit hast Du mir wirklich geholfen, vielen Dank !
Viele Grüße aus Irland und einen schönen Abend noch,
Mike
AW: Offset ist nicht nötig bei fixer Spalte(M) ;-) oT
Hajo_Zi
Hallo Mike,
der Code berücksichtigt aber nicht das mehrere Zellen mit einmal geändert werden können.
Gruß Hajo
Anzeige
war das gefordert ? ;-) oT
Matthias
AW: war das gefordert ? ;-) oT
Hajo_Zi
Hallo Matthias,
ich habe nur das geschrieben was in Excel möglich ist. Darum ist mein Code auch ein wenig länger.
Gruß Hajo
ich habe keinen Code von Dir gesehen ... oT
Dir
Anzeige
AW: war das gefordert ? ;-) oT
Mike
Hallo Hajo,
vielen Dank.
Wenn mehrere Zellen gleichzeitig geändert werden, greift das Workbook_Change / Workbook_SelectionChange wahrscheinlich generell nicht, oder ?
VG,
Mike
AW: war das gefordert ? ;-) oT
Hajo_Zi
Hallo Mike,
da irrst Du.
Gruß Hajo
Anzeige
AW: WSChange bei mehr. Änderungen
Gerd
Wenn mehrere Zellen gleichzeitig geändert werden, greift das Workbook_Change / Workbook_SelectionChange wahrscheinlich generell nicht, oder ?
Stimmt Mike, dass Du da irrst. Siehe Code unten.
Gruß Gerd
Stimmt schon, aber...
robert
vielen Dank, das ist spitze ! Der Code von Blatt 1 ist fast genau, wonach ich gesucht hatte !
Was muss ich denn ändern, wenn ich das Datum nicht in der jeweils nächsten Spalte, sondern immer in Spalte M eingetragen haben möchte ?

Hi,
ich habe mich auf diese Aussage bezogen und wollt Mike anregen, etwas selbst
zu finden und zu ändern ;-)
Gruß
robert
Anzeige
Das war nix gegen Deine Hilfe !
Matthias
Hi robert ;-)
Zitat: Ausgangsfrage
... gibt es eine Möglichkeit, dass bei einer Änderung in einer Zeile (Blatt 1, Bereich A1:L500 und N1:O500) automatisch das aktuelle Datum in Spalte M eingetragen wird ...
Sorry fürs reinquatschen ;o)
Gruß Matthias
Anzeige
@Matthias-Na Gott sei Dank, denn sonst....
robert
Hallo Matthias,
..wäre das passiert, was damals passiert ist...!!!
i
i
i
i
i
i
i
i
i
i
i
i
i
i
i
i
i
i
i
i
...ich wäre ins Bett gegangen und hätte versucht, sofort einzuschlafen ;0))
Gruß
robert
OT @robert - oh oh, war da damals so ? ;-)
Matthias
Hey robert.
Magst Du mir mal einen ScreenShot von Deinem selbst erstellten Kalender zeigen?
Würde mich wirklich interessieren!
Gruß Matthias
Anzeige
AW: OT @robert - oh oh, war da damals so ? ;-)
robert
Hi,
nicht lachen bitte-aber-
wie stell ich ein Screenshot einer Userform hier ins Forum?
Bitte um kurze ANleitung
Gruß
robert
AW: OT @robert - oh oh, war da damals so ? ;-)
Mike
Könnt Ihr mich vielleicht mit Eurem privaten Gelaber verschonen ? danke !
AW: OT @robert - oh oh, war da damals so ? ;-)
Reinhard
Hallo Robert,
ich drücke auf die Taste "Druck", dann ist das Bild des Bildschirms in der Zwischenablage.
Es gibt auch Alt+Druck oder war das Strg+Druck? Egal, damit ist dann das Bild des aktiven Fensters in der
Zwischenablage.
Ich habe dann das kostenlose Grafikprogramm Irfanview, das starte ich und dann Strg+v
Nun kann ich da mit File---SaveAs das Bild speichern in von mir gewünschten Grfaikformat.
Meist brauche ich aber nur einen Teilausschnitt des Bildes. Nach dem obigen Strg+v ist man automatisch
im entsprechenden Modus. Einfach mit der Maus auf die linke obere Ecke des gedachten Bildauschnittes
gehen und bei gedrückter Maus den Rahmen "aufziehen".
Dann Strg+c, d, Strg+v....
@Mike wer Wind sät wird
siehe Altes Testament, Hosea, Kapitel 8, Vers 7
Gruß
Reinhard
Anzeige
Danke Reinhard-owT-Gruß
robert
AW: @Matthias-Na Gott sei Dank, denn sonst....
Mike
Könnt Ihr mich vielleicht mit Eurem privaten Gelaber verschonen ? danke !
...und du uns künftig mit speicherfressenden ...
Luc:-?
…Anfragen, Mike,
denn das hättest du durchaus höflicher formulieren können, auch, wenn du unnötig benachrichtigt wirst, denn du bist schließlich derjenige, der 'ne Frage hat, nicht wir! :-<
Man muss ja auch nicht Benachrichtung wählen, man kann auch öfter mal nachschauen, was sich tut!
Luc :-?
Anzeige
AW: ...heul doch...
Mike
Auch noch unverschämt wdn! Damit man ...
Luc:-?
…persönl bei dir bedanken kann, hier mal die dafür nötige Adresse: mc.home@freenet.de
Viel Spaß!
und wie wir heulen-huhuhuhu....
robert
Anzeige
AW: Bei Zeilenänderung aktuelles Datum eintragen
Gerd
Hallo Mike!
Private Sub Worksheet_Change(ByVal Target As Range)
Dim objCell As Range
If Not Intersect(Target, Union(Range("A1:L500", Range("N1:O500")))) Is Nothing Then
For Each objCell In Intersect(Target, Union(Range("A1:L500", Range("N1:O500"))))
Cells(objCell.Row, 13) = Date
Next
End If
End Sub

Gruß Gerd
Anzeige
AW: Bei Zeilenänderung aktuelles Datum eintragen
Mike
Hallo Gerd,
vielen Dank für die schnelle Hilfe - das klappt super !!
Viele Grüße und einen schönen Abend noch,
Mike
AW: Bei Zeilenänderung aktuelles Datum eintragen
Mike
Hallo Gerd,
vielen Dank dafür, das ist super und eine riesen Hilfe !!
Viele Grüße und einen schönen Abend noch - danke nochmal !
Mike
AW: Bei Zeilenänderung aktuelles Datum eintragen
tuska
Hallo,
mir gefällt diese Lösung auch und ich habe sie ebenfalls verwendet.
Aufgrund einer anderen Forumsanfrage von mir, hat mir jemand den folgenden Code genannt,
der auch eine Auswirkung auf die aktuelle Zeile hat, d.h.
Private Sub Worksheet_Change(ByVal Target As Range) ...  kommt jetzt theoretisch zweimal vor
und das ergibt leider eine Fehlermeldung. Ich muß mich also zwischen zwei Lösungen entscheiden,
oder weiß jemand auch hier noch einen Rat?

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 78 Then Application.GoTo Cells(Target.Row + 1, 3), True
If Target.Column = 78 Then Application.Goto Cells(Target.Row, 3), True End Sub
Danke im voraus für eine Antwort
Gruß
Karl
Anzeige
AW: Bei Zeilenänderung aktuelles Datum eintragen
tuska
Eine Ergänzungsfrage hätte ich auch noch zum Code von Hajo:
RaZelle.Offset(0, 1) = Date ... bedeutet für mich: Das Datum wird 1 Spalte rechts von aktueller Zelle eingefügt.
Ich würde aber gerne das Datum immer in Spalte A ergänzen lassen ... vermutlich sowas ähnliches wie
Cells(Target.Row, 1) = Date.
Vielleicht kann mir bitte jemand hier helfen. Danke!
Gruß
Karl
Anzeige
AW: Bei Zeilenänderung aktuelles Datum eintragen
Hajo_Zi
Hallo Karl,
Cells(RaZelle.row,1)=

AW: Bei Zeilenänderung aktuelles Datum eintragen
tuska
Danke hat funktioniert!
(Nur wenn in dieser Zeile eine Zelle automatisch schon mit einer Formel befüllt ist
- in Zelle B3 steht folgende Formel ... =WENN(C2="";"";C2) ... Zeit von - Zeit bis ...
die Zeit bis soll automatisch in die nächste Zeile übernommen werden -
dann funktioniert's leider nicht (im Bereich, zB B2:C:2000) müssen die Zellen leer sein.
Gruß
Karl
Anzeige
AW: Bei Zeilenänderung aktuelles Datum eintragen
Hajo_Zi
Hallo Karl,
ich habe jetzt keine Ahnuung was Spalte B damit zu tun hat. Das Datum wird in Spalte A eingetragen.
Gruß Hajo
AW: Bei Zeilenänderung aktuelles Datum eintragen
tuska
Hallo Hajo,
Deine Formel ist OK - ich wollte lediglich auf folgendes hinweisen:
Spalte A | Spalte B | Spalte C
-------------------------------------
1 Datum Beginn Ende (Zeit)
2 08:00 12:00 gebe ich in B2 (Beginn) oder C2 (Ende) einen Wert ein, dann wird das Datum in Spalte A aufgrund des Makros automatisch ergänzt
3 wenn in B3 (die Formel =C2, d.h. mit Ergebnis 12:00) steht und ich in C3 zB 16:00 eingebe, dann wird in Spalte A das Datum nicht mehr ergänzt.
Anzeige
AW: Bei Zeilenänderung aktuelles Datum eintragen
Hajo_Zi
ich sehe den Code zum Datum Eintragen nicht.
Gruß Hajo
AW: Bei Zeilenänderung aktuelles Datum eintragen
Hajo_Zi
man könnte vermuten Du hast den Code eingesetzt der nur bei dem ersten Eintrag ein Datum einträgt.
Gruß Hajo
Anzeige
AW: Bei Zeilenänderung aktuelles Datum eintragen
tuska
Hallo Hajo,
ich wollte soeben eine kleine Musterdatei hochladen, wo ich gemeint habe, daß der Code unter gewissen Umständen (wie vorher beschrieben) nicht funktioniert.
Wie ich gerade festgestellt habe, hat in einer neuen Arbeitsmappe das Makro ausgezeichnet funktioniert.
Tut mir sehr leid für die Unannehmlichkeiten.
Nochmals herzlichen Dank für Deine Unterstützung!
Gruß
Karl
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Aktuelles Datum bei Zeilenänderung automatisch eintragen in Excel


Schritt-für-Schritt-Anleitung

Um in Excel das aktuelle Datum automatisch einzutragen, wenn eine Zelle in einem bestimmten Bereich geändert wird, kannst Du VBA verwenden. Hier sind die Schritte, um dies zu erreichen:

  1. Öffne Deine Excel-Datei und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Doppelklicke auf das Arbeitsblatt, in dem Du das Datum eintragen möchtest (z.B. "Tabelle1").

  3. Füge den folgenden Code ein:

    Private Sub Worksheet_Change(ByVal Target As Range)
       If Not Intersect(Target, Range("A1:L500, N1:O500")) Is Nothing Then
           For Each cell In Intersect(Target, Range("A1:L500, N1:O500"))
               Cells(cell.Row, 13).Value = Date ' Spalte M ist die 13. Spalte
           Next cell
       End If
    End Sub
  4. Schließe den VBA-Editor und speichere die Datei als "Excel-Arbeitsmappe mit Makros" (*.xlsm).

  5. Teste die Funktion, indem Du eine Zelle im angegebenen Bereich änderst. Das aktuelle Datum sollte nun automatisch in Spalte M eingetragen werden.


Häufige Fehler und Lösungen

  • Fehler: Nichts passiert, wenn ich eine Zelle ändere.

    • Lösung: Stelle sicher, dass Du den Code im richtigen Arbeitsblatt eingegeben hast und dass Makros in Excel aktiviert sind.
  • Fehler: Das Datum wird nicht korrekt eingetragen.

    • Lösung: Überprüfe den Bereich im Code. Er sollte den richtigen Zellbereich abdecken, in dem Du Änderungen vornimmst.

Alternative Methoden

Wenn Du keine VBA-Programmiersprache verwenden möchtest, kannst Du auch die Funktion =HEUTE() verwenden, um das Datum anzuzeigen. Beachte jedoch, dass dies das Datum bei jedem Öffnen oder Aktualisieren der Datei ändert und nicht den ursprünglichen Wert speichert.


Praktische Beispiele

  • Beispiel 1: Du hast eine Tabelle, in der Du den Status von Aufgaben verfolgst. Wenn Du den Status einer Aufgabe änderst, wird automatisch das Datum des letzten Updates in Spalte M eingetragen.

  • Beispiel 2: Bei einer Excel-Liste mit Verkaufszahlen wird das Datum automatisch eingetragen, wenn jemand eine Zahl ändert, um einen Überblick über die letzten Änderungen zu behalten.


Tipps für Profis

  • Verwende Application.EnableEvents = False und Application.EnableEvents = True, um zeitweilig das Auslösen von Ereignissen zu verhindern, wenn Du mehrere Zellen gleichzeitig aktualisierst. Dies kann die Geschwindigkeit erhöhen und unerwünschte Nebeneffekte vermeiden.

  • Wenn Du möchtest, dass das Datum nur einmal eingetragen wird (zum Beispiel bei der ersten Änderung), kannst Du zusätzliche Bedingungen im Code hinzufügen, um dies zu steuern.


FAQ: Häufige Fragen

1. Wie kann ich das Datum in einer anderen Spalte einfügen?
Ändere die Zahl 13 im Code zu der Nummer der gewünschten Spalte, um das Datum dort einzutragen.

2. Funktioniert dieser Code auch in Excel Online?
Leider unterstützt Excel Online keine VBA-Makros. Du müsstest die Desktop-Version von Excel verwenden.

3. Ist dieser Code sicher?
Ja, der Code ist sicher, solange Du ihn aus einer vertrauenswürdigen Quelle kopierst. Es ist jedoch immer ratsam, vor dem Ausführen von Makros eine Sicherungskopie Deiner Datei zu erstellen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige