Mit Bild
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.
Mit Bild
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:
Mit Bild
So sieht die Beispieltabelle aus.
Mit Bild
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.
Mit Bild
Auf dem Register "Ansicht" können Sie bis Excel XP alle Kommentare gleichzeitig anzeigen.
Mit Bild
Diese Einstellung steht ab Excel 2007 in der Kategorie "Erweitert".
Mit Bild
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.
Mit Bild
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:
Mit Bild
Jetzt werden alle Kommentare gleichzeitig angezeigt.
Mit Bild
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.
Mit Bild
So werden die Kommentare bis Excel XP nur beim Ausdruck auf dem Blatt berücksichtigt.
Mit Bild
Die gleiche Einstellung ab Excel 2007
Mit Bild
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:
Mit Bild
Die Kommentare verdecken immer noch alle Daten.
Mit Bild
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:
Mit Bild
Hier lässt sich für die Füllfarbe eine Transparenz einstellen.
Mit Bild
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.
Mit Bild
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:
Mit Bild
Nun können Sie durch Kommentare hindurch die Daten sehen.
Mit Bild
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 ...
Mit Bild
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.
Mit Bild
Die Kommentare stehen gesammelt auf der letzten Seite.
Mit Bild
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.
Mit Bild
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.
Mit Bild
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.
Mit Bild
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:
Mit Bild
Sub AlleKommentareImBlattAendern() Dim cmtDieser As Comment For Each cmtDieser In ActiveSheet.Comments 'alle Kommentare durchlaufen cmtDieser.Shape.Fill.Transparency = 0.25 Next End Sub
Mit Bild
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.
Mit Bild
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.
Mit Bild
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.
Mit Bild
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.
Mit Bild
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
Mit Bild
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:
Mit Bild
Alle Kommentare stehen untereinander auf einer eigenen Seite.
Mit Bild
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).
Mit Bild
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.
Mit Bild
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
Mit Bild
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:
Mit Bild
Alle Kommentare stehen untereinander am rechten Rand.
Mit Bild
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:
Mit Bild
Alle Kommentare sind nun auch in der Größe optimiert.
Mit Bild
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.
Mit Bild
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.
Mit Bild
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!