Microsoft Excel

Herbers Excel/VBA-Archiv

Kommentar per VBA Größe ändern | Herbers Excel-Forum


Betrifft: Kommentar per VBA Größe ändern von: Franz W.
Geschrieben am: 05.12.2009 21:09:43

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

  

Betrifft: AW: Kommentar per VBA Größe ändern von: Josef Ehrensberger
Geschrieben am: 05.12.2009 21:24:09

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



  

Betrifft: AW: Kommentar per VBA Größe ändern von: Franz W.
Geschrieben am: 05.12.2009 21:51:56

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


  

Betrifft: AW: Kommentar per VBA Größe ändern von: Josef Ehrensberger
Geschrieben am: 05.12.2009 22:20:41

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



  

Betrifft: AW: Kommentar per VBA Größe ändern von: Franz W.
Geschrieben am: 05.12.2009 22:31:39

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


Beiträge aus den Excel-Beispielen zum Thema "Kommentar per VBA Größe ändern"