Excel-Kommentare besser im Griff

Zu viele Kommentare können Excel-Tabellen unübersichtlich machen. Wir verraten Gegenmaßnahmen

Von mehreren Personen bearbeitete Excel-Tabellen sind voller Kommentare. Das kann schnell unübersichtlich werden. Lorenz Hölscher weiß, wie Sie Excel-Kommentare in den Griff bekommen.

∅ 4.8 / 14 Bewertungen

Intensiv bearbeitete Excel-Tabellen sind voller Kommentare, meistens von mehreren Kollegen. Je mehr solcher Kommentare sich allerdings so ansammeln, desto unübersichtlicher wird es. Lorenz Hölscher bietet Ihnen hier ein paar praktische Tools, durch die der Umgang mit Kommentaren viel angenehmer wird.

Was Excel schon kann

Für diese Kommentare habe ich ein Beispiel gewählt, welches oft sehr erklärungsbedürftig ist: die Berechnung des Wärmedurchgangs von Bauteilen. Dabei geht es hier natürlich nicht um die Formeln selbst, sondern lediglich um die vielen Kommentare darin. Die Kommentare im folgenden Bild erkennen Sie Excel-typisch an den kleinen roten Dreiecken rechts oben in der jeweiligen Zelle. Ein Kommentar wird hier schon angezeigt, weil der Mauszeiger über der Zelle ruht:

68973_beispiel01-png

So sieht die Beispieltabelle aus.

Normalerweise sehen Sie in Excel nur maximal einen Kommentar, nämlich denjenigen, über dessen Zelle sich der Mauszeiger befindet. Mit einer Änderung der Optionen (bis Excel XP: Extras/Optionen/Ansicht "Kommentare und Indikatoren", ab Excel 2007 im Office-Menü bei den Optionen in der Kategorie Erweitert) ist es möglich, alle Kommentare gleichzeitig sichtbar zu machen.

68974_optionen01-png

Auf dem Register "Ansicht" können Sie bis Excel XP alle Kommentare gleichzeitig anzeigen.

68975_optionen02-png

Diese Einstellung steht ab Excel 2007 in der Kategorie "Erweitert".

Ab Excel 2007 alle Kommentar sichtbar machen

Ab Excel 2007 können Sie alle Kommentare noch schneller sichtbar machen, indem Sie in Überprüfen/Kommentare auf Alle Kommentare anzeigen klicken.

Das Ergebnis ist zwar genau das, was die Option versprochen hat, hier aber leider völlig unbrauchbar, wie das folgende Bild der gleichen Datei zeigt:

68976_beispiel02-png

Jetzt werden alle Kommentare gleichzeitig angezeigt.

Eine zweite Möglichkeit besteht beim Ausdruck der Kommentare. Auch hier können Sie dafür sorgen, dass alle Kommentare mitgedruckt werden. Bis Excel XP finden Sie es im Menü Datei/Seite einrichten, ab Excel 2007 finden Sie es im Seitenlayout-Register via LaunchButton (das kleine Symbol rechts neben dem Gruppentitel) der Gruppe Seite einrichten. Im Dialog stellen Sie die Auswahl für Kommentare auf Wie auf dem Blatt angezeigt.

68977_seiteeinrichten01-png

So werden die Kommentare bis Excel XP nur beim Ausdruck auf dem Blatt berücksichtigt.

68978_seiteeinrichten02-png

Die gleiche Einstellung ab Excel 2007

Wenn die Kommentare mit der vorigen Option im Blatt sichtbar sind, erscheinen sie anschließend auch auf dem Ausdruck. Wirklich überzeugen kann das aber auch nicht, denn die Kommentare verdecken so alle wichtigen Zahlen:

68979_ausdruck01-png

Die Kommentare verdecken immer noch alle Daten.

Ein kleines bisschen ließe es sich verbessern, indem die Kommentare teilweise durchsichtig gemacht werden. Dazu markieren Sie einen Kommentar und machen entweder einen Doppelklick auf seinen Rand oder nutzen das Menü Format/Kommentar, um den zugehörigen Dialog anzuzeigen:

68980_transparenz01-png

Hier lässt sich für die Füllfarbe eine Transparenz einstellen.

Kommentare ab Excel 2007 bearbeiten

Seit Excel 2007 sind Kommentare nicht mehr so richtig praktisch zu bearbeiten. Es gibt zwar im Menüband eine eigene Gruppe Überprüfen/Kommentare, aber dort fehlt der Befehl zum Formatieren des markierten Kommentars. Auch der Doppelklick auf den Kommentar-Rand zeigt nicht mehr den gesuchten Dialog an.

Ein markierter Kommentar kann seitdem nur noch per Rechtsklick und dem PopUp-Menü-Eintrag Kommentar formatieren seinen Format-Dialog anzeigen. Auch die Füllfarbe in der Gruppe Start/Schriftart (wo entgegen dem Namen dieser Gruppe auch die allgemeine Hintergrundfüllfarbe enthalten ist) wird für einen markierten Kommentar leider nicht aktiv.

Eine Transparenz von nur 25 % sorgt dafür, dass die Daten hinter den Kommentaren überwiegend zu erkennen sind. Wie im folgenden Bild aber schon zu erkennen ist, taugt das als Lösung für mehrere übereinanderliegende Kommentare nicht:

68981_beispiel03-png

Nun können Sie durch Kommentare hindurch die Daten sehen.

Mehrere Kommentare markieren

Auch damit lassen sich nicht mehrere Kommentare markieren.

Falls Sie das unten gezeigte Symbol in der Zeichnen-Symbolleiste kennen, wissen Sie, dass damit mehrere Excel-Zeichnungsobjekte wie in Grafikprogrammen durch Aufziehen eines Rahmens markiert werden können. Leider aber keine Kommentare, obwohl die sich ansonsten wie Zeichnungsobjekte verhalten.

Die alternative Mehrfachmarkierung durch Anklicken per Maus bei gedrückter Strg- oder Umschalt-Taste funktioniert übrigens auch nicht. Sie müssen also jeden Kommentar einzeln formatieren. Oder Sie nutzen ein Makro, wie Sie es weiter unten finden ...

68982_symbolleiste01-png

Um Kommentare später auf dem Papier überhaupt lesen zu können, empfiehlt sich daher die Alternative, sie nach den Daten auf einem eigenen Blatt ausdrucken zu lassen. Im SeiteEinrichten-Dialog stellen Sie dazu die Option Kommentare auf Am Ende des Blattes.

68983_ausdruck02-png

Die Kommentare stehen gesammelt auf der letzten Seite.

Nun sind zwar alle Daten und Kommentare zu lesen, aber Sie können im Ausdruck mangels Zeilen- und Spaltenköpfen die Zelladressen nicht mehr sehen (es sei denn, Sie stellen dies im SeiteEinrichten-Dialog als Zeilen- und Spalten-Überschriften ein), um die zum Kommentar gehörende Zelle zu finden. Kurz gesagt: Hier gibt es einiges zu tun, denn mit den eingebauten Excel-Fähigkeiten kommt man nicht wirklich weit.

Was Excel nicht kann

Damit sammeln sich automatisch schon einige Wünsche und Verbesserungsvorschläge, was wir im Umgang mit Kommentaren noch bräuchten: alle Kommentare ...

  • ... eines Blattes teiltransparent einstellen,

  • ... auf einem neuen Blatt sammeln (und nicht erst beim Ausdruck, wo sie ja nicht weiter bearbeitet werden können) und

  • ... auf dem gleichen Blatt so an den rechten Rand verschieben, dass sie keine Daten verdecken und untereinander aufgereiht sind.

Dazu werden wir ein wenig VBA benötigen, aber das ist die (geringe) Mühe wert.

Makros schreiben

Der Beitrag "Routine-Kram in Microsoft Office automatisieren: So programmieren Sie mühelos ein Makro für Excel, Word & Co." beschreibt detailliert, wie Sie VBA-Prozeduren erstellen, die wir hier einsetzen.

Alle Kommentare eines Blattes verändern

Fangen wir vielleicht mit leichtesten Aufgabe an, deren Lösung Sie weiter oben wahrscheinlich schon schmerzlich vermisst hatten: Alle Kommentare im aktuellen Blatt sollen teiltransparent dargestellt werden. In der Beispiel-Datei können Sie ein neues Modul erzeugen, in dem Sie die folgende Prozedur einfügen:

Sub AlleKommentareImBlattAendern()
    Dim cmtDieser As Comment

    For Each cmtDieser In ActiveSheet.Comments    'alle Kommentare durchlaufen
        cmtDieser.Shape.Fill.Transparency = 0.25
    Next
End Sub

Fill oder Interior?

Es bleibt eines der vielen Geheimnisse von Microsoft, warum der Innenbereich für eine Zelle als Interior, derjenige eines Zeichenobjekts (Shape) jedoch als Fill bezeichnet wird.

Dieser Code bearbeitet in einer Schleife alle Kommentare des aktuellen Blatts nacheinander und stellt für jeden dessen Transparenz-Wert auf 25 %. Wollen Sie andere Eigenschaften des Kommentars verändern, zeichnen Sie das am besten für einen Kommentar beispielhaft auf und bauen den so ermittelten Code in diese Schleife hier ein.

Alle Kommentare löschen

Immerhin lassen sich alle Kommentare gemeinsam löschen, ohne VBA-Code zu bemühen. Dazu markieren Sie alle Zellen mit Kommentar und wählen dann per Rechtsklick im PopUp-Menü den Eintrag Kommentar löschen.

Alle Kommentare auf ein anderes Blatt kopieren

Der zweite Wunsch bestand darin, dass die Inhalte der Kommentare gesammelt und in die Zellen eines anderen Blattes geschrieben werden sollen. Dort können sie dann nach Belieben weiter bearbeitet werden.

Dazu brauchen Sie zwei Tabellenblätter, nämlich das aktive mit den Kommentaren sowie ein neu eingefügtes mit den kopierten Kommentar-Inhalten. Da nach dem Einfügen eines neuen Blattes das bisherige aktive Blatt (ActiveSheet) nicht mehr aktiv ist, müssen Sie sich auch dieses in einer Variablen (hier wksMitKommentaren) merken.

Sub KommentareInNeuesBlattSchreiben()
    Dim wksMitKommentaren As Worksheet  'die Tabelle mit Kommentaren
    Dim wksAusdruck As Worksheet        'die Tabelle zum Ausdrucken
    Dim cmtDieser As Comment            'ein Kommentar
    Dim lngZeile As Long

    Set wksMitKommentaren = ActiveSheet     'Achtung, vorher merken, weil neues Blatt kommt
    Set wksAusdruck = ThisWorkbook.Worksheets.Add() 'macht eine neue Tabelle

    With wksAusdruck
        'Titelzeile schreiben:
        lngZeile = 1
        .Cells(lngZeile, 1).Value = "Adresse"           'vor jeden führenden Punkt wird wksAusdruck gesetzt wegen "With"
        .Cells(lngZeile, 2).Value = "Zellwert"
        .Cells(lngZeile, 3).Value = "Kommentar"
        .Cells(lngZeile, 4).Value = "Transparenz"
        .Rows(lngZeile).Font.Bold = True     'Titelzeile fett machen

        For Each cmtDieser In wksMitKommentaren.Comments    'alle Kommentare durchlaufen und in neuer Tabelle auflisten
            lngZeile = lngZeile + 1
            .Cells(lngZeile, 1).Value = cmtDieser.Parent.AddressLocal
            .Cells(lngZeile, 2).Value = cmtDieser.Parent.Value
            .Cells(lngZeile, 3).Value = cmtDieser.Text
            .Cells(lngZeile, 4).Value = cmtDieser.Shape.Fill.Transparency
        Next
    End With
End Sub

Nur für die bessere Lesbarkeit schreibt der Code zuerst eine fett formatierte Titelzeile in das neue Blatt. Dann werden alle Kommentare durchlaufen und deren Inhalte zeilenweise kopiert. Nach ein paar manuell angepassten Spaltenbreiten und Zeilenhöhen präsentiert sich das Ergebnis so:

68984_beispiel04-png

Alle Kommentare stehen untereinander auf einer eigenen Seite.

Wie Sie sehen, kommen sogar die mit Strg+Eingabe erzeugten Zeilenumbrüche in der Zielzelle an. Ab hier können Sie wieder ohne VBA weiterarbeiten, wenn es noch anders formatiert werden soll (beispielsweise die Transparenz mit Prozent-Format anzeigen).

Kommentare sauber an den rechten Rand verschieben

Jetzt kommt das beste und gleichzeitig gefährlichste Makro, denn es verschiebt alle Kommentare auf dem Blatt an eine neue Position am rechten Rand. Sie sollen so stehen, dass sie weder Zellen mit Inhalt noch andere Kommentare verdecken. Das ist ein Eingriff in die Original-Kommentare, der sich nicht rückgängig machen ließe, daher erzeugt das Makro am Anfang immer eine Kopie des Blattes und ändert nur dort.

Der Bereich der Zellen, in die der Benutzer etwas geschrieben hat, lässt sich mit UsedRange sehr einfach ermitteln. Dessen linker Rand plus dessen Breite plus 20 Einheiten extra für den Abstand ergibt die zukünftige Links-Position dblLinks der Kommentare.

Sub KommentareVerschieben()
    Dim wksMitKommentaren As Worksheet  'die Tabelle mit Kommentaren
    Dim wksKopie As Worksheet           'die kopierte Tabelle davon, damit das Original zu Testzwecken erhalten bleibt
    Dim cmtDieser As Comment            'ein Kommentar
    Dim dblLeft As Double               'die Links-Position, an welche die Kommentare verschoben werden sollen
    Dim dblTop As Double                'die Top-Position, an welche die Kommentare untereinander verschoben werden sollen

    Set wksMitKommentaren = ActiveSheet
    wksMitKommentaren.Copy wksMitKommentaren        'jetzt ist das neue Blatt die erste Tabelle
    Set wksKopie = ThisWorkbook.Worksheets(1)       'mit einer Kopie der Tabelle arbeiten, damit das Original erhalten bleibt

    With wksKopie.UsedRange
        dblLeft = .Left + .Width + 20       '+20 für ein bisschen Abstand nach rechts
    End With

    For Each cmtDieser In wksKopie.Comments         'alle Kommentare durchlaufen und in neuer Tabelle auflisten
        dblTop = dblTop + 10                        '10 als senkrechter Abstand
        With cmtDieser
            .Visible = True                    'alle sichtbar machen
            .Shape.Left = dblLeft              'an den rechten Rand schieben
            .Shape.Fill.Transparency = 0       'undurchsichtig machen
            '.Shape.TextFrame.AutoSize = True   'Größe automatisch anpassen
            .Shape.Top = dblTop                'Kommentar an senkrechte Position schieben
            dblTop = dblTop + .Shape.Height    'von oben nach unten anordnen
        End With
    Next
End Sub

Unabhängig davon sollen sich die Kommentare gegenseitig auch nicht überdecken, daher gibt es eine zweite Variable dblTop, welche den Abstand von oben mitprotokolliert. Sie wird für jeden Kommentar um dessen Höhe sowie um einen Extrawert von 10 vergrößert. Wie im folgenden Bild zu sehen ist, sind die Kommentare nun schön aufgereiht neben den Daten zu sehen:

68985_beispiel05-png

Alle Kommentare stehen untereinander am rechten Rand.

Wenn es bei vielen Kommentaren in der Höhe langsam knapp wird, können Sie die im obigen Code noch kommentierte Zeile mit AutoSize durch Entfernen des Hochkommas davor aktivieren. Dann wird für jeden Kommentar seine optimale Breite eingestellt, so dass er (abgesehen von den absichtlichen Zeilenumbrüchen) einzeilig ist:

68986_beispiel06-png

Alle Kommentare sind nun auch in der Größe optimiert.

Sie müssen alle diese Prozeduren übrigens nicht in die Datei mit den Kommentaren hineinkopieren. Da sie sich auf ActiveSheet beziehen, verändern sie das Blatt, welches für den Benutzer gerade sichtbar ist. Dieses darf sich in einer anderen Datei befinden als der Code, den Sie dann im VBA-Editor mit der F5-Taste starten.

Fazit

Viele Kommentare können ganz schön lästig und unhandlich sein. Ein paar Zeilen VBA-Code helfen, daraus eine praktische und vor allem übersichtliche Sache zu machen.

Zum Weiterlesen: Excel ohne Ende

Mit Hilfe von Excel lassen sich viele Aufgaben einfacher und schneller erledigen. Wir gehen Tipps: Excel - so kalkulieren Sie richtig!