Speichert Excel das Änderungsdatum einer Zelle?

Tom01

Ensign
Registriert
Nov. 2005
Beiträge
234
Ist es möglich über eine Formel die Zellen zu markieren die in einem gewissen Zeitraum geändert wurden?
 
Wie werden denn die Zellen geändert? Händisch oder makro oder wie jetzt.

Denke aber eher nicht. Und wenn, wird das nur über makro gehen. Kann mich aber auch irren. Da xcel doch umfangreicher ist als man manchmal denkt.
 
Soweit ich weiß gibt es bei Excel eine Revisionssicherheit. Das bedeutet im Umkehrschluss, dass eben dieses Änderungsprotokoll vorhanden sein muss. Es kann allerdings sein, dass dies nur in der Professional und Enterprise-Variante zu finden ist und zudem extra eingeschaltet werden muss. Man kann ja auch frühere Stände einer Datei wieder herstellen.
 
Er will ja aber die geänderte Zellen angezeigt bekommen, sprich farbig hinterlegt oder die Werte andersfarbig ausgegeben. Wenn ich Ihn da richtig verstanden habe.
 
Ich würd's wie folgt spontan lösen:
Excel öffnen > Rechte Maustaste auf Tabelle1 > Code anzeigen > folgenden Code einfügen :
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("a1:a200")) _
Is Nothing Then Exit Sub
Application.EnableEvents = False
Target.Interior.ColorIndex = 3
'Datum in Spalte B hinzufügen
'Target.Offset(0, 1).Value = Date
Application.EnableEvents = True
End Sub
Hierdurch werden die veränderten Spalten (a1 bis a200), rot eingefärbt. Statt der Färbung kann man auch in der Spalte B das Datum über den Target.Offset einfügen lassen

Im zweiten Schritt > Extras > Makro > folgendes Makro einfügen:
Code:
Sub zellfarbe_löschen()
Sheets("Tabelle1").Cells.Interior.ColorIndex = 0
End Sub
Das Makro bewirkt, daß sämtliche Zellfärbungen gelöscht werden.

Ich hätte es mir so vorgestellt : Die Änderungen werden vorgenommen + rot eingefärbt. Beim nächsten Öffnen der Datei, sieht der Bearbeiter die roten Felder. Hierdurch weiß er, was zuletzt verändert wurde. Dann führt er das Makro aus, welches die roten Felder löscht. Danach macht er seine Änderungen, welche rot eingefärbt werden.
 
ryan_blackdrago schrieb:
Ich würd's wie folgt spontan lösen:
Excel öffnen > Rechte Maustaste auf Tabelle1 > Code anzeigen > folgenden Code einfügen :
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("a1:a200")) _
Is Nothing Then Exit Sub
Application.EnableEvents = False
Target.Interior.ColorIndex = 3
'Datum in Spalte B hinzufügen
'Target.Offset(0, 1).Value = Date
Application.EnableEvents = True
End Sub
Hierdurch werden die veränderten Spalten (a1 bis a200), rot eingefärbt. Statt der Färbung kann man auch in der Spalte B das Datum über den Target.Offset einfügen lassen

Im zweiten Schritt > Extras > Makro > folgendes Makro einfügen:
Code:
Sub zellfarbe_löschen()
Sheets("Tabelle1").Cells.Interior.ColorIndex = 0
End Sub
Das Makro bewirkt, daß sämtliche Zellfärbungen gelöscht werden.

Ich hätte es mir so vorgestellt : Die Änderungen werden vorgenommen + rot eingefärbt. Beim nächsten Öffnen der Datei, sieht der Bearbeiter die roten Felder. Hierdurch weiß er, was zuletzt verändert wurde. Dann führt er das Makro aus, welches die roten Felder löscht. Danach macht er seine Änderungen, welche rot eingefärbt werden.


Das ist ein guter Ansatz, aber wo kann ich ihm sagen er soll mir nur die Änderungen zB vom 16.06.2010 einfärben?
 
Das Skript färbt im Augenblick nur den aktuellen Tag ein.
Änderungen aus früheren Versionen wird Excel auch so nicht herausfischen können, da sonst die Datei utopische Größen annehmen würde (Excel müsste immer ein Kopie an die Hauptdatei dranhängen). Glaube nicht das dies in Excel integriert ist.

Hier hatte ich ein Skript angefügt, welches eine Kopie mit Datum und Uhrzeit erstellt : https://www.computerbase.de/forum/threads/versionierung-in-word.734021/
 
wenn ich nur den ersten oben geposteten Code einfüge dann bleiben die aber schon so lange rot bis ich es irgendwie entferne oder?
 
Danke dir. Hab noch eine Anmerkung: Würde das Makro 'zellfarbe_löschen' noch als Button im Dokument selbst einfügen:

Ansicht > Symbolleisten > Formular > Schaltfläche > Buttongröße entsprechend ziehen > Makro in 'diese Arbeitsmappe' auswählen > Makro ''zellfarbe_löschen' zuweisen > OK > Text vom Button 'Schaltfläche' in z.B. 'löschen' abändern.
 

Anhänge

  • makro_als_button.gif
    makro_als_button.gif
    8,7 KB · Aufrufe: 295
Gibts ne möglichkeit dass er mit dem Makro nur die Zellen löscht die Grau und Hellgrau sind?
 
@Tom01
Gib mal testweise in einer anderen Datei folgendes Makro ein:
Code:
Sub Displaypalette()
Dim N As Long
For N = 1 To 56
Cells(N, 1).Interior.ColorIndex = N
Next N
End Sub

In Spalte A werden nun die Excel-Werte der Zellfarben von 1 bis 56 eingefügt. Hellgrau (Grau-25%) hat in Excel den Wert 15 ; Dunkelgrau (Grau-50%) hat den Wert 16 ; Dunkelgrau (Grau-40%) hat den Wert 48;


Zu Deiner Frage:
Folgendes Makro färbt die hell- und dunkelgrauen Zellen rot (ColorIndex = 3):
Code:
Sub zellfarbe_löschen()
For Each Zelle In ActiveSheet.UsedRange
If Zelle.Interior.ColorIndex = 15 Then
Zelle.Interior.ColorIndex = 3
Else
If Zelle.Interior.ColorIndex = 16 Then
Zelle.Interior.ColorIndex = 3
Else
If Zelle.Interior.ColorIndex = 48 Then
Zelle.Interior.ColorIndex = 3
End If
End If
End If
Next Zelle
End Sub
 
Zuletzt bearbeitet:
Ja das haut hin. Also mach ich aus der 3 eine 2, dann werden alle grauen Zellen weiß.
Jetzt muss ich das nur noch begrenzen dass das Makro nur von Zelle L9 bis Z200 ausgeführt wird. Wo muss ich das einstellen?
 
Zurück
Oben