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

Forumthread: Wie erkenne ich automatisch eine Änderung in den Z

Wie erkenne ich automatisch eine Änderung in den Z
Thomas
Ich habe in der Zelle A1 ein Datum eingetragen. Wenn ich nun in einer der zellen A2:A10 Änderungen vornehme möchte ich das Datum in A1 auf das heutige gesetzt haben.
Wie erkenne ich automatisch eine Änderung in den Zellen und setze dadurch das Datum in A1?
Anzeige
AW: Wie erkenne ich automatisch eine Änderung in den Z
ANdreas
Hallo Thomas,
das geht mit VBA, dazu rechte Maustaste auf den Reiter des Tabellenblattes -> Code anzeigen. Dort dann diesen Code eintragen:

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range("A2:A10")) Is Nothing Then
On Error GoTo ErrorHandler
Application.EnableEvents = False
Range("A1").Value = Now
Application.EnableEvents = True
On Error GoTo 0
End If
Exit Sub
ErrorHandler:
Application.EnableEvents = True
End Sub

Hoffe das hilft weiter,
Andreas
Anzeige
AW: Wie erkenne ich automatisch eine Änderung in d
Thomas
Das funktioniert schon ganz gut. Aber auch wenn ich eine der Zellen nur selectiere wird jetzt das Datum aktualisiert. Dies sollte aber erst nach Änderung eines Wertes erfolgen.
Gibt es hierfür eine andere Lösung, oder muß die vorgeschlagene nur geändert werden?
AW: Wie erkenne ich automatisch eine Änderung in d
16.04.2004 10:48:35
Matthias
Hallo Thomas,
durch Zellauswahl alleine passiert mit dem Code doch gar nichts...
Oder meinst Du, wenn der gleiche Wert erneut eingetragen wird (z.B. F2-Enter), soll sich auch nichts ändern?
Gruß Matthias
Anzeige
AW: Wie erkenne ich automatisch eine Änderung in d
Thomas
Richtig!
ich habe eine Tabelle mit Vertragspositionen. Immer wenn eine Position im text oder Preis geändert wird, soll in A1 das Datum aktualisiert werden. Somit kann ich sofort sehen, wann die letzte Anpassung stattgefunden hat.
AW: Wie erkenne ich automatisch eine Änderung in d
Matthias
Hallo Thomas,
Dazu müsste bei jeder Selektionsänderung der Zellwert unter der Auswahl in einer globalen Variablen zwischengespeichert werden und bei Änderung mit der Variablen verglichen werden.
Dieser Code ins Arbeitsblattmodul (Code von Andreas leicht abgeändert):

Public temp As Variant
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range("A2:A10")) Is Nothing Then
On Error GoTo ErrorHandler
If Target.Value <> temp Then
Application.EnableEvents = False
Range("A1").Value = Now
Application.EnableEvents = True
End If
On Error GoTo 0
End If
Exit Sub
ErrorHandler:
Application.EnableEvents = True
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
temp = Target.Value
Application.StatusBar = temp
End Sub

Gruß Matthias
Anzeige
AW: Wie erkenne ich automatisch eine Änderung in d
16.04.2004 12:57:01
Matthias
Hallo Thomas,
die Zeile
Application.StatusBar = temp

kannst du natürlich weglassen, diente nur zu Testzwecken!
Gruß Matthias
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

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