The following code auto resizes comments (notes) in my Excel spreadsheet.
The code is slow. To speed it up I wish to specify a smaller range not the whole sheet. Let's say cells A1 to B10.
Sub NotesResize()
Dim MyComments As Comment
Dim lArea As Long
For Each MyComments In ActiveSheet.Comments
    With MyComments
        .Shape.TextFrame.AutoSize = True
        If .Shape.Width > 300 Then
            lArea = .Shape.Width * .Shape.Height
            .Shape.Width = 200
            ' An adjustment factor of 1.1 seems to work ok.
            .Shape.Height = (lArea / 200) * 1.1
        End If
    End With
Next ' comment
End Sub
I tried setting ranges as follows.
I get
Run time error '438': Object doesn't support this property or method.
Sub NotesResizeSelection()
Dim MyComments As Comment
Dim lArea As Long
Dim rng2 As Range
Set rng2 = Range("A1:B10")
For Each MyComments In rng2.Comments
    With MyComments
        .Shape.TextFrame.AutoSize = True
        If .Shape.Width > 300 Then
            lArea = .Shape.Width * .Shape.Height
            .Shape.Width = 200
            ' An adjustment factor of 1.1 seems to work ok.
            .Shape.Height = (lArea / 200) * 1.1
        End If
    End With
Next ' comment
End Sub
 
     
    