Kommentare gleich groß

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

▲ nach oben …

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

▲ nach oben …

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.

▲ nach oben …

Dieser Beitrag wurde unter Code-Schnipsel, Tabelle und Zelle, Tipps und Tricks abgelegt und mit , , , , , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.