Kommentare
Befehl / Beispiele Beschreibung
Range(<Zell-Adresse>).AddComment Kommentar einfügen
Beispiel:
Sub KommentarNeuStart()
    KommentarNeu "B3", "Hallo liebe Leute"
End Sub

Function KommentarNeu(Zelle, Text)
     Dim Antwort As Variant

     On Error Resume Next
     Range(Zelle).AddComment
     Range(Zelle).Comment.Text Text:=Text
     If Err.Number > 0 Then
        Antwort = MsgBox("Ein Kommentar existiert bereits !" & vbCr & vbCr & _
                         "Soll dieser überschrieben werden ?", vbYesNo)
        If Antwort = vbYes Then
            Range(Zelle).ClearComments
            Range(Zelle).AddComment
            Range(Zelle).Comment.Text Text:=Text
        End If
    End If
End Function
Range(<Zell-Adresse>).ClearComments KommentarLöschen
Beispiel:
Sub KommentarLöschenTest()
    KommentarLöschen "B2"
End Sub

Function KommentarLöschen(Zelle)
    Range(Zelle).ClearComments
End Function
Range(<Zell-Adresse>).Comment.Shape.TextFrame.Characters.Font Kommentartext formatieren
Beispiel:
Sub KommentarTextFormatTest()
    KommentarTextFormat "B3", "Arial", 32, 0, 255, 0
End Sub

Sub KommentarTextFormat(Zelle, SchriftArt, SchriftGroesse, R, G, B)
    With Range(Zelle).Comment.Shape.TextFrame.Characters.Font
         .Name = SchriftArt
         .Size = SchriftGroesse
         .Color = RGB(R, G, B)
    End With
End Sub
Range(<Zell-Adresse>).Comment.Shape.Line Kommentarrahmen formatieren
Beispiel:
Sub KommentarRahmenFormatTest()
    KommentarRahmenFormat "B3", 1, 255, 0, 255
End Sub

Sub KommentarRahmenFormat(Zelle, Dicke, R, G, B)
    With Range(Zelle).Comment.Shape.Line
         .Weight = Dicke
         .ForeColor.RGB = RGB(R, G, B)
    End With
End Sub
Range(Zelle).Comment.Shape.Fill Kommentarhintergrund formatieren
Beispiel:
Sub KommentarHintergrundFormatTest()
    KommentarHintergrundFormat "B3", 255, 255, 0
End Sub
     
Sub KommentarHintergrundFormat(Zelle, R, G, B)
    Range(Zelle).Comment.Shape.Fill.ForeColor.RGB = RGB(R, G, B)
End Sub
Application.DisplayCommentIndicator Alle Kommentare ein- / aus- blenden
Beispiel:
Sub KommentareAnzeigenTest()
    KommentareAnzeigen False
End Sub

Function KommentareAnzeigen(Schalter)
    If Schalter = True Then
       Application.DisplayCommentIndicator = xlCommentAndIndicator
    Else
       Application.DisplayCommentIndicator = xlCommentIndicatorOnly
    End If
End Function
Kommentar ein- / aus- blenden
Beispiel:
Sub KommentarEinblendenTest()
    KommentarEinblenden "B3", True
End Sub

Function KommentarEinblenden(Zelle, Schalter)
    Range(Zelle).Comment.Visible = Schalter
End Function
Range(<Zell-Adresse>).Comment.Shape.TextFrame.AutoSize Autogröße des Kommentarfensters
Beispiel:
Sub KommentarAutogroesseTest()
    KommentarAutogroesse "C16", True
End Sub

Sub KommentarAutogroesse(Zelle, Schalter)
    Range(Zelle).Comment.Shape.TextFrame.AutoSize = Schalter
End Sub
Range(<Zell-Adresse>).Comment.Shape.TextFrame.HorizontalAlignment
Range(<Zell-Adresse>).Comment.Shape.TextFrame.VerticalAlignment
Kommentartext ausrichten
Beispiel:
Sub KomentarAusrichtungTest()
    KomentarAusrichtung "C16", xlHAlignLeft, xlVAlignCenter
End Sub

Sub KomentarAusrichtung(Zelle, Horizontal, Vertikal)
'+------------------------------------------+
'|  Horizontal = xlHAlignLeft    ( -4131 )  |
'|             = xlHAlignCenter  ( -4108 )  |
'|             = xlHAlignRight   ( -4152 )  |
'|  Vertikal   = xlVAlignBottom  ( -4107 )  |
'|             = xlVAlignCenter  ( -4108 )  |
'|             = xlVAlignTop     ( -4160 )  |
'+------------------------------------------+
    Range(Zelle).Comment.Shape.TextFrame.HorizontalAlignment = Horizontal
    Range(Zelle).Comment.Shape.TextFrame.VerticalAlignment = Vertikal
End Sub
Range(Zelle).Comment.Shape.Width
Range(Zelle).Comment.Shape.Height
Kommentarfenstergröße einstellen.
Beispiel:
Sub KommentarFenstergroesseTest()
    KommentarFenstergroesse "C16", 150, 100
End Sub
Sub KommentarFenstergroesse(Zelle, Breite, Hoehe)
    Range(Zelle).Comment.Shape.TextFrame.AutoSize = False
    Range(Zelle).Comment.Shape.Width = Breite
    Range(Zelle).Comment.Shape.Height = Hoehe
End Sub
Alle Kommentare eines Zellbereiches auf AutoSize setzen
Beispiel:
Sub KomentareAufAutosize()
'+------------------------------------------------------------------+
'|  Setzt alle Kommentare im ausgewählten Zellbereich auf AutoSize  |
'+------------------------------------------------------------------+
    Dim Zelle As Range

    For Each Zelle In Selection
        If KommentarVorhanden(Zelle.Address) = True Then
           Zelle.Comment.Shape.TextFrame.AutoSize = True
        End If
    Next Zelle
End Sub

Function KommentarVorhanden(ZellAdresse As String) As Boolean
'+--------------------------------------------+
'|  Überprüft ob ein Kommentar vorhanden ist  |
'+--------------------------------------------+
    Dim Anzeige As Boolean

    KommentarVorhanden = True
    On Error Resume Next
       Anzeige = Range(ZellAdresse).Comment.Visible
       If Err.Number > 0 Then KommentarVorhanden = False
    On Error GoTo 0
End Function
Beispiel: