Wenn jemand Daten in einer Excel-Liste ändert, kann es hilfreich sein, anschließend noch sehen zu können, ob der Wert größer oder kleiner ist als der vorherige. Mit einer bedingten Formatierung ist das leider nicht zu bewerkstelligen, denn der vorherige Wert ist ja dann gelöscht. Sie benötigen dazu ein wenig VBA-Programmierung, aber nicht viel.
Welche Änderungen finden Sie?
Nehmen Sie als Beispiel eine Tabelle wie die folgende mit beliebigen Daten.
Der Preis für die Dosenmilch wird geändert ...
... und die Zeile ist anschließend rot markiert, weil der Betrag kleiner wurde.
Der Kaffeepreis wird nachträglich erhöht ...
... und daher die Zeile gelb gefärbt.
Sie können eine solche Liste also an Kollegen weitergeben, damit die ihre Änderungen eingeben, und müssen dann nicht lange danach suchen, was wie geändert wurde.
Wie erstellen Sie das Makro?
Die Programmierung nutzt vordefinierte Prozeduren, die nur in Tabellen-Modulen (und nicht in "normalen" Modulen) funktionieren. Sie beziehen sich also auf genau diese Tabelle und werden nur in dieser ausgelöst.
Wechseln Sie aus der Excel-Datei zuerst mit Alt+F11 in den VBA-Editor und machen Sie dort einen Doppelklick auf den Namen der betreffenden Tabelle (Tabelle1). Dadurch wird, wie im folgenden Bild, deren Tabellen-Modul geöffnet.
Tragen Sie hier im großen Fenster den Code ein!
Option Explicit
Falls bei Ihrem Modul am Anfang des Moduls bereits Option Explicit steht, können Sie das dort stehen lassen. Das sorgt dafür, dass sich keine Fehler durch undeklarierte Variablen einschleichen können.
In der Titelleiste ist zu sehen, dass nun [Tabelle1 (Code)] geöffnet ist. Dort tragen Sie den folgenden Code ein beziehungsweise kopieren ihn einfach in das Modul.

Hallo Herr Hölscher,
Ich habe Ihre Beschreibung über Änderungen in Excel automatisch markieren (mit farbige Zeile)gelesen, aber ich möchte, nur die Zelle wo ich etwas dazufüge oder ändere, mit Hintergrund-Farbe anzeigen, und habe diesbezüglich versucht Ihre Makro anzupassen, aber leider ohne Erfolg.
Ich würde mich sehr freuen falls Sie mir ein Makro Zeigen könnte, wo nur die Zelle wo etwas geändert wird, mit eine Hintergrund-Farbe angezeigt wird.
Für Ihre Unterstützung bin ich sehr sehr dankbar.
MfG,
Henrik Nilsson
Hallo Herr Nilsson,
ganz einfach: Sie schreiben statt "Target.EntireRow.Interior.Color" nur "Target.Interior.Color".
Mit freundlichen Grüßen,
Lorenz Hölscher