Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Kommentar mit VBA

Kommentar mit VBA
22.05.2008 10:03:33
Tom
Hallo zusammen,
ich möchte in die Zelle, in der der Cursor steht, einen Kommentar einfügen und habe per Rekorder folgendes aufgezeichnet:

Sub Kommentar()
ActiveCell.Select
ActiveCell.AddComment
ActiveCell.Comment.Visible = False
ActiveCell.Comment.Text Text:="Hallo" & Chr(10) & ""
End Sub


Wier kann ich jetzt aber automatisch die Größe des Feldes und die Schriftart ändern lassen (z.B. Fett und 15 Arial)
Danke vorab
TOM

Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Kommentar mit VBA
22.05.2008 10:12:22
Josef
Hallo Tom,
das geht zB. so.
Sub Kommentar()
Dim objComment As Comment

On Error Resume Next
ActiveCell.Comment.Delete
On Error GoTo 0

Set objComment = ActiveCell.AddComment

With objComment
    With .Shape.TextFrame.Characters
        .Text = "Hallo" & Chr(10) & ""
        .Font.Name = "Arial"
        .Font.Size = 14
        .Font.Bold = True
    End With
    .Visible = False
End With

Set objComment = Nothing
End Sub


Gruß Sepp



Anzeige
AW: Kommentar mit VBA
22.05.2008 10:17:29
Tom
Hallo Sepp,
danke,funktioniert super.
1) Kann man das Feld des Kommentars auch noch kleiner machen (wenn ja,nimm mal irgendein Beispiel, kann ich mir ja dann selbst anpassen)
2) Ist es möglich, mehrere markierte Zellen auf einmal mit dem gleichen Kommentar zu versehen?
Danke TOM

Anzeige
AW: Kommentar mit VBA
22.05.2008 10:22:49
Josef
Hallo Tom,
kein Problem.
Sub Kommentar()
Dim objComment As Comment
Dim rng As Range

Selection.ClearComments

For Each rng In Selection
    Set objComment = rng.AddComment
    
    With objComment
        .Shape.TextFrame.AutoSize = True
        'oder
        ' .Shape.Width = 150
        ' .Shape.Height = 35
        
        With .Shape.TextFrame.Characters
            .Text = "Hallo" & Chr(10) & ""
            .Font.Name = "Arial"
            .Font.Size = 14
            .Font.Bold = True
        End With
        .Visible = False
    End With
Next

Set objComment = Nothing
End Sub


Gruß Sepp



Anzeige
AW: Kommentar mit VBA
22.05.2008 10:27:04
Tom
Perfekt - vielen Dank für Deine Hilfe
TOM

AW: Kommentar mit VBA
22.05.2008 10:32:27
Beverly
Hi Tom,
weitere Möglichkeit

Sub kommentar()
With ActiveCell
If Not .Comment Is Nothing Then .Comment.Delete
.AddComment
With .Comment
.Visible = False
.Text Text:="Hallo" & Chr(10) & ""
.Shape.DrawingObject.Font.FontStyle = "Fett"
.Shape.DrawingObject.Font.Size = 14
.Shape.DrawingObject.Font.Name = "Arial"
End With
End With
End Sub




Anzeige
;

Forumthreads zu verwandten Themen

Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Kommentare mit VBA in Excel erstellen


Schritt-für-Schritt-Anleitung

Um einen Kommentar in Excel über VBA zu erstellen, kannst du den folgenden Code verwenden. Dieser Code fügt einen Kommentar in die aktuell ausgewählte Zelle ein und passt die Schriftart sowie die Größe an:

Sub Kommentar()
    Dim objComment As Comment
    On Error Resume Next
    ActiveCell.Comment.Delete
    On Error GoTo 0

    Set objComment = ActiveCell.AddComment
    With objComment
        With .Shape.TextFrame.Characters
            .Text = "Hallo" & Chr(10) & ""
            .Font.Name = "Arial"
            .Font.Size = 14
            .Font.Bold = True
        End With
        .Visible = False
    End With

    Set objComment = Nothing
End Sub

Häufige Fehler und Lösungen

Fehler: "Objektvariable oder With-Blockvariable nicht festgelegt"

Lösung: Stelle sicher, dass die aktive Zelle einen Kommentar hat, bevor du versuchst, einen neuen hinzuzufügen. Verwende On Error Resume Next, um zu verhindern, dass das Skript bei einem fehlenden Kommentar abbricht.

Fehler: Der Kommentar wird nicht angezeigt.

Lösung: Überprüfe die Sichtbarkeit des Kommentars. Setze .Visible = True, wenn du den Kommentar sehen möchtest.


Alternative Methoden

Eine alternative Methode, um Kommentare in VBA zu erstellen, könnte aussehen wie folgt:

Sub kommentar()
    With ActiveCell
        If Not .Comment Is Nothing Then .Comment.Delete
        .AddComment
        With .Comment
            .Visible = False
            .Text Text:="Hallo" & Chr(10) & ""
            .Shape.DrawingObject.Font.FontStyle = "Fett"
            .Shape.DrawingObject.Font.Size = 14
            .Shape.DrawingObject.Font.Name = "Arial"
        End With
    End With
End Sub

Diese Variante verwendet eine andere Struktur, um den Kommentar zu formatieren und könnte für dich nützlich sein, falls du mit der Shape-Eigenschaft arbeiten möchtest.


Praktische Beispiele

Hier sind einige praktische Beispiele, die dir helfen können, Kommentare in mehreren Zellen gleichzeitig hinzuzufügen:

Sub KommentareInMehrerenZellen()
    Dim objComment As Comment
    Dim rng As Range

    Selection.ClearComments

    For Each rng In Selection
        Set objComment = rng.AddComment
        With objComment
            .Shape.TextFrame.AutoSize = True
            With .Shape.TextFrame.Characters
                .Text = "Hallo"
                .Font.Name = "Arial"
                .Font.Size = 14
                .Font.Bold = True
            End With
            .Visible = False
        End With
    Next rng

    Set objComment = Nothing
End Sub

Dieses Skript fügt denselben Kommentar in alle ausgewählten Zellen ein.


Tipps für Profis

  • Nutze vba auskommentieren shortcut, um schnell Teile deines Codes auszukommentieren, die du vorübergehend nicht verwenden möchtest.
  • Experimentiere mit der AutoSize-Eigenschaft, um die Größe des Kommentarfeldes automatisch anzupassen.
  • Verwende Selection.ClearComments, um alle Kommentare in einem Bereich schnell zu entfernen.

FAQ: Häufige Fragen

1. Wie kann ich die Schriftfarbe des Kommentars ändern?
Du kannst die Schriftfarbe ändern, indem du die Font.Color-Eigenschaft innerhalb der Characters-Methode anpasst.

2. Ist es möglich, ein Bild in einen Kommentar einzufügen?
Ja, du kannst ein Bild in einen Kommentar einfügen, indem du die Shape.Fill.UserPicture-Methode verwendest, um ein Bild zu laden.

3. Wie kann ich die Größe des Kommentarfeldes manuell anpassen?
Verwende die Eigenschaften .Width und .Height innerhalb der Shape-Eigenschaft, um die Größe des Kommentarfeldes anzupassen.

4. Können Kommentare in VBA ausgelesen werden?
Ja, du kannst auf den Text eines Kommentars über die Comment.Text-Eigenschaft zugreifen, um den Inhalt zu lesen oder zu bearbeiten.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige