Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

bedingte Formatierung / Datum von letzter Änderung speichern





Frage

Hallo , ich stehe mit meinen Makro-/Excelkenntnissen noch ganz am Anfang und vielleicht könnt ihr mir daher bei meinem folgenden Problem weiterhelfen. Ausgangssituation: Ich habe eine Excel Tabelle in der z.B. Produktionszahlen, Preise und Produktbeschreibungen etc. entsprechender Produkte gespeichert werden. Diese Tabelle wird regelmässig aktualisiert, da neue Werte/ Beschreibungen hinzukommen bzw. alte Werte aktualisiert werden. In der Kopfzeile befindet sich noch eine Zelle mit dem Datum des letzten Update Problem: 1.Ich möchte nun in der Zelle " Datum des Update" automatisch das Datum einfügen, zu dem zuletzt etwas in der Tabelle geändert wurde. 2. Darüber hinaus sollen alle die zu diesem Datum geänderten Zellen rot markiert werden. 3. gerade bei den Produktionszahlen/ Preisen wäre es von Vorteil wenn man bei anklicken der entsprechen Zelle alle zuvor oder wenigstens den vorletzten Wert angezeigt bekommt Ich weiss das dies direkt 3 Wünsche auf einmal sind aber vielleicht findet szich jemand der eine Lösung für mein Problem hat. Vielen Dank im Voraus schumi2006

Antwort 1 von Saarbauer

Hallo,

so einfach geht das nicht. Ist aus meiner Sicht nur mit VBA zu lösen

Gruß

Helmut

Antwort 2 von JoeKe

Hallo schumi 2006,

wie Helmut schon schreibt geht das mit VBA.
Um dein Vorhaben umzusetzen habe ich mal drei Codes geschrieben.
Der erste gehört in das VBA-Projekt deines Tabellenblattes. Es ändert bei jeder Eingabe die Schriftfarbe in Rot.
Um in das VBA-Projekt zugelangen klickts du mit rechts auf das Blattregister und wählst "Code anzeigen", dort kopierst du folgenden Code hinein:

Private Sub Worksheet_Change(ByVal Target As Range)
Target.Font.Color = vbRed
End Sub


Die nächsten beiden Codes gehören in das VBA-Projekt "DieseArbeitsmappe". Um dort hinzugelangen klickts du doppelt im Projekt-Explorer(das kleine Fenster rechts) auf "DieseArbeitsmappe" und fügst dor folgendes ein:

Private Sub Workbook_Open()
Application.ScreenUpdating = False
Sheets("Tabelle1").Range("A1").FormulaR1C1 = "=NOW()"
Sheets("Tabelle1").Cells.Font.ColorIndex = xlAutomatic
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.ScreenUpdating = False
Sheets("Tabelle1").Range("A1").Copy
Sheets("Tabelle1").Range("A2").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Sheets("Tabelle1").Cells.Copy
Sheets("Tabelle2").Cells.PasteSpecial
Application.CutCopyMode = False
End Sub


Mit "Private Sub Workbook_Open()" wird beim öffnen der Mappe in Tabelle1 Zelle A1 die Formel "JETZT()" geschrieben und in Tabelle1 die Schriftfarbe auf automatisch gesetzt.
Mit "Private Sub Workbook_BeforeClose(Cancel As Boolean)" wird beim schließen der Mappe der Wert aus A1(Datum und Uhrzeit der Änderung) nach A2 kopiert und die komplette Tabelle1 in die Tabelle2 kopiert.

Wenn die Mappe wieder geöffnet wird, wird in A1 wieder die aktuelle Uhrzeit und das aktuelle Datum eingetragen. In der Tabelle2 können dann die Änderung (in roter Schrift) der letzten Bearbeitung eingesehen werden.

Ich hoffe du kommst damit zurecht und es genügt deinem Vorhaben.

MfG

JöKe

Antwort 3 von schumi2006

Super danke , werde das heute direkt mal auf meine Tabelle übertragen

schumi2006

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: