Excel-Kommentare automatisch positionieren
Ich habe von meiner Vorgängerin eine komplexe Excel-Tabelle mit zahlreichen Kommentaren geerbt. Diese haben die Kollegin wohl beim Lesen gestört, weshalb sie sie in alle Himmelsrichtungen verschoben hat. Da sich die Kommentarlinien nun heillos überschneiden, lassen sie sich kaum noch einer Zelle zuordnen. Gibt es eine Möglichkeit, alle Kommentare an ihre ursprüngliche Position zurückzusetzen beziehungsweise neben die verknüpfte Zelle zu platzieren?
- Ralf Nebelo
Ich habe von meiner Vorgängerin eine komplexe Excel-Tabelle mit zahlreichen Kommentaren geerbt. Diese haben die Kollegin wohl beim Lesen gestört, weshalb sie sie in alle Himmelsrichtungen verschoben hat. Da sich die Kommentarlinien nun heillos überschneiden, lassen sie sich kaum noch einer Zelle zuordnen. Gibt es eine Möglichkeit, alle Kommentare an ihre ursprüngliche Position zurückzusetzen beziehungsweise neben die verknüpfte Zelle zu platzieren?
Eine interne Funktion zum Zurücksetzen aller Kommentare auf ihre ursprüngliche Position ist uns nicht bekannt. Sie können das Problem aber mit dem nebenstehend abgedruckten VBA-Makro aus der Welt schaffen. Es greift der Reihe nach auf alle Kommentare (Comment-Objekte) des aktuellen Arbeitsblatts zu und positioniert sie jeweils auf der gleichen Höhe wie die verknüpfte Zelle, auf die die Parent-Eigenschaft des Comment-Objekts verweist. Die neue vertikale Position des Kommentars entspricht der vertikalen Position der Zelle plus einem festen Versatz nach rechts, der der doppelten Zellbreite entspricht.
Um das Makro in eine Arbeitsmappe zu integrieren, aktivieren Sie das Menüband-Register Ansicht und klicken auf Makros. Geben Sie den Makronamen ResetComments ein und wählen Erstellen. Ersetzen Sie den Inhalt des Editorfensters vollständig durch den Quelltext des abgedruckten Makros und speichern Sie die Arbeitsmappe. Über „Ansicht/Makros“ können Sie den Code anschließend aus jedem Arbeitsblatt der Arbeitsmappe heraus starten
Sub ResetComments()
Dim objComment As Comment
' Alle Kommentare des aktuellen Arbeitsblatts
' durchlaufen
For Each objComment In ActiveSheet.Comments
With objComment
' Top-Wert des Kommentars auf Top-Wert
' der verknĂĽpften Zelle setzen
.Shape.Top = .Parent.Top
' Left-Wert des Kommentars auf Left-Wert
' der verknĂĽpften Zelle plus Zellbreite
' mal zwei setzen
.Shape.Left = .Parent.Left + _
(.Parent.Width * 2)
End With
Next
End Sub
Das VBA-Makro richtet alle Kommentare eines Excel-Arbeitsblatts an der Position der jeweils verknĂĽpften Zelle aus.
Empfohlener redaktioneller Inhalt
Mit Ihrer Zustimmung wird hier ein externes Video (TargetVideo GmbH) geladen.
Ich bin damit einverstanden, dass mir externe Inhalte angezeigt werden. Damit können personenbezogene Daten an Drittplattformen (TargetVideo GmbH) übermittelt werden. Mehr dazu in unserer Datenschutzerklärung.
()