Allen Kommentaren im Blatt / Bereich die gleiche Größe zuweisen
Manchmal ist es wünschenswert, wenn alle Kommentare in einem Arbeitsblatt oder einem definierten Bereich die gleiche Größe haben. Das lässt sich per Makro am leichtesten realisieren. Beispielhaft bieten wir Ihnen hier verschiedene Möglichkeiten an:
Alle Kommentare bei jeder Aktivierung
Wenn bei jeder Aktivierung, also dem ersten Aufruf des Arbeitsblattes alle Kommentare die gleiche Größe haben sollen, dann bietet sich solch ein Code an:
Sub WorkSheet_Activate()
'Bei jedem aktivieren des Arbeitsblattes alle Kommentare gleiche Größe
Dim cmt As Comment
For Each cmt In thisworksheet.Comments
With cmt.Shape
.Width = 350
.Height = 60
End With
Next cmt
End Sub
Makro-Aufruf per Hand oder Button, Größe wie Muster-Zelle
Sehr ähnlich ist der Code, wenn das Makro per Hand aufgerufen werden soll oder eine Schaltfläche der Auslöser ist. Erweiternd wird hier eine Muster-Zelle mit Kommentar vorgegeben, wo die Größe ausgelesen und dem Kommentar der restlichen Zellen zugewiesen wird. Ist in der definierten Muster-Zelle kein Kommentar, dann werden vorgegebenen Werte genommen.
Sub AlleKommentareGleichGross()
'Alternative: Auslöser per Hand oder beispielsweise Button
'Maße wir Kommentar in A1 (oder angepasst)
'Wenn in Musterzelle kein Kommentar, dann Vorgabe Standard
Dim rng As Range, cmt As Comment
Dim Hoehe As Integer, Breite As Integer
Set rng = Range("A1") 'Anpassen
If Not rng.Comment Is Nothing Then
With rng.Comment.Shape
Hoehe = .Height
Breite = .Width
End With
Else 'Sonst Standard-Größe
Hoehe = 75
Breite = 250
End If
For Each cmt In thisworksheet.Comments
With cmt.Shape
.Width = Breite
.Height = Hoehe
End With
Next cmt
End Sub
Kommentare nur in einem bestimmten Bereich anpassen
Sollen die Größen der Kommentare nur in einem bestimmten Bereich angepasst werden, dann bietet sich solch ein Makro an:
Sub AlleKommentareInBereichGleichGross()
'Alternative: Auslöser per Hand oder beispielsweise Button
'Maße wir Kommentar in A1 (oder angepasst)
'Wenn in Musterzelle kein Kommentar, dann Vorgabe Standard
'Änderung: Nur bestimmter Bereich wird größenmäßig angepasst
Dim rng1 As Range, rng2 As Range, c As Range
Dim cmt As Comment
Dim Hoehe As Integer, Breite As Integer
Set rng1 = Range("A1") 'Muster-Zelle, Anpassen
Set rng2 = Range("B3:H20") 'Dort soll geändert werden
If Not rng1.Comment Is Nothing Then
With rng1.Comment.Shape
Hoehe = .Height
Breite = .Width
End With
Else 'Sonst Standard-Größe
Hoehe = 75
Breite = 250
End If
For Each c In rng2
If Not c.Comment Is Nothing Then
With c.Comment.Shape
.Width = Breite
.Height = Hoehe
End With
End If
Next c
End Sub
Selbstredend lassen sich weitere Eigenschaften der Kommentare in solch ein Makro einbinden. Beispielsweise Hintergrundfarbe, Schriftart oder ähnlich. Alle drei Makros können Sie hier im Textformat als gepackte Datei (*.zip) herunter laden und in ein Modul Ihrer Mappe einpflegen.
[NachObenLetzte Verweis=„CS: Alle Kommentare gleich groß”]