Änderungen in Excel automatisch markieren

Ein wenig VBA-Code hilft, Änderungen Ihrer Daten nachzuverfolgen.

Von: Lorenz Hölscher
Stand: 4. Mai 2011
5
(2)
Anmelden um Kommentare zu schreiben

Downloads zu diesem Beitrag

Über den Autor: Lorenz Hölscher

bild80517

Lorenz Hölscher ist freiberuflicher Dozent, Berater und Programmierer mit Schwerpunkt Anwendungs-Programmierung. Vorrangig widmet er sich Access, Word und Excel sowie begleitenden grafischen Arbeiten. Er legt viel Wert auf benutzerfreundliche Oberflächen und ordentliches Design in Optik und Programmierung. Zu Hilfe kommen ihm da seine langjährigen "branchenfremden" Erfahrungen als Architekt, Layouter und Designer.

Lorenz Hölscher bietet eigene Hilfeseiten an und hat bei Microsoft Press mehrere Bücher veröffentlicht zu Access 2007, Access 2007 VBA, Word 2007 VBA und Access 2010.

Beiträge des Autors als Atom-Feed Atom-Feed: Neues von akademie.de

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.

Bild vergrößernDas sind die Ausgangsdaten.

Bild vergrößernDer Preis für die Dosenmilch wird geändert ...

Bild vergrößern... und die Zeile ist anschließend rot markiert, weil der Betrag kleiner wurde.

Bild vergrößernDer Kaffeepreis wird nachträglich erhöht ...

Bild vergrößern... 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.

Bild vergrößernTragen 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.

Diese Seite ist für Mitglieder von akademie.de reserviert.

Möchten Sie die Mitgliedschaft 14 Tage kostenlos testen und den Beitrag komplett lesen?

Ich bin bereits Mitglied
Jetzt Probemitglied werden
Ich kann in den 14 Tagen Probezeit formlos z.B. per E-Mail stornieren. Wenn ich das nicht tue, entscheide ich mich für ein

Kommentar-Darstellungsoptionen

Wählen Sie hier Ihre bevorzugte Anzeigeart für Kommentare aus und klicken Sie auf „Einstellungen speichern“ um die Änderungen zu übernehmen.

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