Tipps & Tricks: Detail

Hier finden Sie zu dem ausgewählten Tipp oder Trick die detaillierten Angaben.

Wenn in den folgenden Erläuterungen Texte wie MsgBox formatiert sind, handelt es sich um konkret einzugebende Inhalte wie VBA-Code oder die Eingabe von Werten. Menüs wie Datei Speichern sind wie hier zu sehen formatiert. Schaltflächen oder Registerkarten auf Dialogen werden wie Menüs behandelt.

Alle Tipps sind nach bestem Wissen geprüft, aber selbstverständlich ohne Gewähr. Sollten Sie doch einen Fehler darin entdecken, würden wir uns freuen, wenn Sie uns per E-Mail Bescheid sagen.

Wenn ein Tabellenblatt viele Kommentare enthält, können Sie diese zwar alle gleichzeitig anzeigen oder ausdrucken lassen, dabei überlappen sie sich aber meistens. Ein bisschen VBA hilft dabei, dass alle Kommentare schön am rechten Rand untereinander aufgereiht werden:

Sub KommentareVerschieben()
Dim wksQuelle As Worksheet 'die Tabelle mit Kommentaren
Dim wksKopie As Worksheet 'die kopierte Tabelle davon, damit das Original zur Sicherheit 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 wksQuelle = ActiveSheet
wksQuelle.Copy wksQuelle '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

Wenn Sie die Zeile mit AutoSize weglassen, bleiben die Kommentare in ihrer ursprünglichen Größe, sonst werden sie in optimaler Breite (also meistens einzeilig) angezeigt.