自动调整单元格注释大小的VBA代码

z80*_*080 4 excel

当人们在 Excel (2016) 中添加单元格注释时,注释框的大小众所周知,需要手动调整。我定义了这个宏(使用从此处获得的 VBA 代码)来自动调整鼠标悬停在单元格上方时出现的单元格注释的大小:

Sub FitComments()
Dim xComment As Comment
For Each xComment In Application.ActiveSheet.Comments
    xComment.Shape.TextFrame.AutoSize = True
Next
End Sub
Run Code Online (Sandbox Code Playgroud)

但是,我希望用这个宏来代替:

  1. 不仅在一行上调整注释框的大小,而且在多行上调整注释框的大小,优化矩形的长宽比(Google Spreadhseets 在创建任何单元格注释框时自动调整任何单元格注释框大小的方式)
  2. 不作用于工作表中的所有单元格注释,而仅作用于当前单元格的注释

然而我对 VBA 并没有真正的了解。谁能指出我必须对代码进行哪些更改?谢谢!

小智 5

Sub FitComments()
Dim Rng As Range
Dim Cell As Range
Set Rng = Selection
For Each Cell In Rng
    If Not Cell.Comment Is Nothing Then
    Cell.Comment.Shape.TextFrame.AutoSize = True
    End If
Next
End Sub
Run Code Online (Sandbox Code Playgroud)

我当前位置无法使用 Excel 2016 来测试上述内容,否则我会在发布之前进行测试。我正在运行 Office 365,它会按照您的描述自动调整大小。测试了多个版本,直到宏不出错。

此代码背后的概念是在每个单元格的基础上将自动调整大小应用于所选内容中的注释。

我将宏应用于 Control +(选择字母)键盘激活以快速访问。

逐行进入代码,它运行了测试选择的预期步骤数。