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.
Kommentare am rechten Rand aufreihen ID 370 Aktuell
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:
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
For Each cmtDieser In wksKopie.Comments 'alle Kommentare durchlaufen und in neuer Tabelle auflisten
With cmtDieser
.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
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.