HERBERS Excel-Forum - das Archiv
Kommentar per VBA Größe ändern
Franz

Hallo Fachleute,
ich möchte per Makro die Größe von Kommentaren verändern, und hab mir mal die Schritte mit dem Rekorder aufgezeichnet:
Sub Makro1()
Range("e11").Select
Range("e11").Comment.Text Text:=""
With Selection.Font
.Name = "Tahoma"
.FontStyle = "Standard"
.Size = 9
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ColorIndex = xlAutomatic
End With
Selection.ShapeRange.LockAspectRatio = msoTrue
Selection.ShapeRange.Height = 141.75
Selection.ShapeRange.Width = 106.5
End Sub

Lass ich das Makro aber ablaufen, kommt nur ne Fehlermeldung: "Objekt unterstützt diese Eigenschaft oder Methode nicht"
Ich bitte um Hilfe, wie ich das angehen kann.
Danke schonmal und Grüße
Franz

AW: Kommentar per VBA Größe ändern
Josef

Hallo Franz,
Sub formatComment()
  Dim objCmnt As Comment
  
  On Error Resume Next
  Set objCmnt = Range("e11").Comment
  On Error GoTo 0
  
  If Not objCmnt Is Nothing Then
    With objCmnt.Shape
      With .DrawingObject.Font
        .name = "Tahoma"
        .FontStyle = "Standard"
        .Size = 9
        .Strikethrough = False
        .Superscript = False
        .Subscript = False
        .OutlineFont = False
        .Shadow = False
        .Underline = xlUnderlineStyleNone
        .ColorIndex = xlAutomatic
      End With
      .LockAspectRatio = msoTrue
      .Height = 141.75
      .Width = 106.5
    End With
  End If
  
  Set objCmnt = Nothing
End Sub


Gruß Sepp

AW: Kommentar per VBA Größe ändern
Franz

Hallo Sepp,
danke, das ist Spitze, bin begeistert. Frag jetzt auch gar nicht lang, waurm das andere nicht geht, sondern werde versuchen das zu verstehn. Und dazu hab ich noch eine Frage:
"LockAspectRatio = msoTrue" heißt ja, dass die Proportionen beibehalten werden. Warum muss dann noch sowohl Height als auch Width angegeben werden. Bzw. hab ich jetzt mal rumprobiert: wenn ich entweder nur Height oder nur Width angebe, behält er trotzdem die Proportion bei, allerdings bei unterschiedlichen Größen.
Grüße
Franz
AW: Kommentar per VBA Größe ändern
Josef

Hallo Franz,
ist logisch, weil deine .Width bzw. .Height- Angaben nicht dem Seitenverhältis des Kommentares entsprechen.
Darum wird, wenn du nur eine der beiden Größen angibst, die andere entsprechend verändert.
Probiere diese Werte abwechselnd und einzeln, dann wirst du sehen das der Kommentar
immer die selbe Größe hat.
.LockAspectRatio = msoTrue
'.Height = 141.75
.Width = 258

Gruß Sepp

AW: Kommentar per VBA Größe ändern
Franz

Hallo Sepp,
danke, gut, das wollt ich wissen. Und es heißt also, dass auch eine der beiden Angaben reicht. Will ich also alle Kommentare, die in einer Spalte untereinander stehen, z. B. in der gleichen Breite haben, reicht in einer Schleife die Angabe von Width, die Höhe wird dann vom vorigen Höhen-Seiten-Verhältnis abhängen.
Danke und Grüße
Franz