Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden.
Du solltest ein Upgrade durchführen oder einen alternativen Browser verwenden.
Du solltest ein Upgrade durchführen oder einen alternativen Browser verwenden.
Speichert Excel das Änderungsdatum einer Zelle?
- Ersteller Tom01
- Erstellt am
D
dirky8
Gast
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.
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.
Rome1981
Captain
- Registriert
- Apr. 2007
- Beiträge
- 3.834
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.
D
dirky8
Gast
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.
Hmm, dann müsste Excel das Änderungsdatum ja irgendwo protokollieren. Wie ich das weiß, gibts die Änderungsverfolgung bei Excel nur bei Freigabe einer Arbeitsmappe. Vielleicht hilft dir das weiter, bzw. hier gibt es gute Ansätze: http://www.helmut-geselbracht.de/40255.html
ryan_blackdrago
Captain
- Registriert
- Nov. 2006
- Beiträge
- 4.014
Ich würd's wie folgt spontan lösen:
Excel öffnen > Rechte Maustaste auf Tabelle1 > Code anzeigen > folgenden Code einfügen :
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:
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.
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
Im zweiten Schritt > Extras > Makro > folgendes Makro einfügen:
Code:
Sub zellfarbe_löschen()
Sheets("Tabelle1").Cells.Interior.ColorIndex = 0
End Sub
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.
- Registriert
- Nov. 2005
- Beiträge
- 234
ryan_blackdrago schrieb:Ich würd's wie folgt spontan lösen:
Excel öffnen > Rechte Maustaste auf Tabelle1 > Code anzeigen > folgenden Code einfügen :
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 lassenCode: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
Im zweiten Schritt > Extras > Makro > folgendes Makro einfügen:
Das Makro bewirkt, daß sämtliche Zellfärbungen gelöscht werden.Code:Sub zellfarbe_löschen() Sheets("Tabelle1").Cells.Interior.ColorIndex = 0 End Sub
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?
ryan_blackdrago
Captain
- Registriert
- Nov. 2006
- Beiträge
- 4.014
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/
Ä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/
ryan_blackdrago
Captain
- Registriert
- Nov. 2006
- Beiträge
- 4.014
Sobald der Code eingefügt wurde, werden sämtliche Änderungen in der Spalte A rot hervorgehoben.
Das 'irgendwie entfernen' soll das Makro erledigen.
Das 'irgendwie entfernen' soll das Makro erledigen.
ryan_blackdrago
Captain
- Registriert
- Nov. 2006
- Beiträge
- 4.014
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.
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
ryan_blackdrago
Captain
- Registriert
- Nov. 2006
- Beiträge
- 4.014
@Tom01
Gib mal testweise in einer anderen Datei folgendes Makro ein:
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):
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:
ryan_blackdrago
Captain
- Registriert
- Nov. 2006
- Beiträge
- 4.014
@Tom01
For Each Zelle In Range("l9:z200")
Für die Zukunft : http://de.wikibooks.org/wiki/VBA_in_Excel_-_Grundlagen
For Each Zelle In Range("l9:z200")
Für die Zukunft : http://de.wikibooks.org/wiki/VBA_in_Excel_-_Grundlagen
Ähnliche Themen
- Antworten
- 21
- Aufrufe
- 1.317
- Antworten
- 8
- Aufrufe
- 853
- Antworten
- 14
- Aufrufe
- 714