Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Wenn Änderung in Zelle, dann akt. Dat. in Nachbarz

Wenn Änderung in Zelle, dann akt. Dat. in Nachbarz
26.02.2013 12:02:34
Thomas
Hallo,
ich habe folgendes Problem:
Wenn in Spalte O im Bereich Zeile 3-1000 in einer Zelle etwas geändert wird,
möchte ich in die Nachbarzelle das aktuelle Datum eintragen.
Hiermit funktioniert das per VBA sehr gut:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("O3:O1000")) Is Nothing And Target.Count = 1 Then
Cells(Target.Row, 16) = Now
End If
End Sub

Gibt es hierzu auch eine Lösung per Formel?

Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Wenn Änderung in Zelle, dann akt. Dat. in Nachbarz
26.02.2013 12:19:39
Klaus
Hallo Thomas,
nicht automatisch. Die Lösung "schreibe das Datum jedesmal per Hand in die Nachbarzelle" hilft dir ja nicht.
Einen Formelwert in einer Zelle über Bedingungen "einzufrieren" geht nur über VBA. Mit Excelformeln geht das nicht.
Ok, es geht theoretisch schon, Excelformeln.de hat dazu ein Beispiel:
http://www.excelformeln.de/formeln.html?welcher=415
Aber das ist imho ein eher esotherischer Ansatz, bemerkenswert und intelligent aber eher Praxisfremd.
Ob du dir wirklich antuen willst, das o.g. Beispiel nachzuvollziehen und an deine Problematik anzupassen? Ich würd da ja bei VBA bleiben.
Grüße,
Klaus M.vdT.

Anzeige
AW: Wenn Änderung in Zelle, dann akt. Dat. in Nachbarz
27.02.2013 08:35:00
Thomas
Hallo Klaus,
vielen Dank für deinen Tipp.
werde mich bei Gelegenheit mal damit beschäftigen.
Gruß, Thomas

Danke für die Rückmeldung! owT.
27.02.2013 09:05:31
Klaus
.

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Aktuelles Datum in Nachbarzelle bei Änderung in Excel


Schritt-für-Schritt-Anleitung

Um das aktuelle Datum in der Nachbarzelle einzutragen, wenn in einer bestimmten Zelle (z.B. in Spalte O) eine Änderung erfolgt, kannst du VBA verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

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

  2. Suche im Projektfenster links nach der entsprechenden Arbeitsmappe und doppelklicke auf das Arbeitsblatt, in dem du die Änderung überwachen möchtest (z.B. "Tabelle1").

  3. Füge den folgenden VBA-Code in das Code-Fenster ein:

    Private Sub Worksheet_Change(ByVal Target As Range)
       If Not Intersect(Target, Range("O3:O1000")) Is Nothing And Target.Count = 1 Then
           Cells(Target.Row, 16) = Now
       End If
    End Sub
  4. Schließe den VBA-Editor und gehe zurück zu Excel.

  5. Teste die Funktion, indem du eine Zelle in Spalte O änderst. Das aktuelle Datum sollte automatisch in die entsprechende Nachbarzelle in Spalte P eingetragen werden.


Häufige Fehler und Lösungen

  • Fehler: Es wird kein Datum eingetragen.

    • Lösung: Stelle sicher, dass der VBA-Code im richtigen Arbeitsblatt eingefügt wurde und dass die Zellen im Bereich O3:O1000 bearbeitet werden.
  • Fehler: Der Code funktioniert nicht.

    • Lösung: Überprüfe, ob Makros in Excel aktiviert sind. Gehe zu Datei > Optionen > Trust Center > Einstellungen für das Trust Center > Makroeinstellungen und aktiviere die entsprechenden Optionen.

Alternative Methoden

Eine Formel-basierte Lösung ist nicht möglich, um das Datum automatisch einzutragen, wenn eine Zelle geändert wird. Eine mögliche Alternative könnte jedoch die Verwendung von Excel-Tabellen (Listen) sein, die Änderungen in Daten protokollieren. Diese Methode erfordert jedoch manuelle Eingaben, um das Datum zu speichern.


Praktische Beispiele

Angenommen, du möchtest in einer Excel-Tabelle die Änderungen in der Spalte O dokumentieren:

  1. Wähle die Zelle O3 aus.
  2. Ändere den Inhalt der Zelle.
  3. Die Zelle P3 sollte nun das aktuelle Datum anzeigen.

Diese Methode ist besonders nützlich in Anwendungen wie Projektmanagement oder Tracking-Tools, wo du ein Protokoll von Änderungen benötigst.


Tipps für Profis

  • Optimierung des VBA-Codes: Du kannst den VBA-Code anpassen, um spezifische Zeitstempel zu setzen (z.B. nur das Datum ohne die Uhrzeit), indem du Cells(Target.Row, 16) = Date verwendest.
  • Verwendung von benannten Bereichen: Du kannst den Bereich "O3:O1000" als benannten Bereich definieren, um deinen Code lesbarer zu machen.

FAQ: Häufige Fragen

1. Kann ich die Automatisierung ohne VBA erreichen? Leider ist es nicht möglich, das aktuelle Datum automatisch in eine Nachbarzelle einzutragen, ohne VBA zu verwenden. Formeln in Excel können keine Bedingungen "einfrieren".

2. Welche Excel-Version wird benötigt? Der beschriebene VBA-Code funktioniert in Excel 2010 und neueren Versionen. Stelle sicher, dass du eine kompatible Version verwendest, um VBA problemlos nutzen zu können.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige