excel批注
来源:百度知道 编辑:UC知道 时间:2024/06/25 17:18:08
用VBA,按下 ALT+F11 进入VBA编辑器,新建一模块,将下列代码复制到模块中:
Sub 设置批注() '设置当前活动工作表中所有批注的位置和大小
Dim Cmt As Comment
Dim HW As Double
HW = 0.6
For Each Cmt In ActiveSheet.Comments
Cmt.Shape.Left = Cmt.Parent.Left + Cmt.Parent.Width + 11.25
If Cmt.Parent.Row = 1 Then
Cmt.Shape.Top = Cmt.Parent.Top + 1.5
Else
Cmt.Shape.Top = Cmt.Parent.Top - 7.5
End If
Cmt.Shape.TextFrame.AutoSize = True
Cmt.Shape.Height = Sqr(Cmt.Shape.Height * Cmt.Shape.Width * HW)
Cmt.Shape.Width = Cmt.Shape.Height / HW
Next
End Sub
说明:批注大小是按自动调整大小后的面积,重新以0.6的高宽比计算。
切换到 Excel ,按 ALT+F8 运行上面的宏即可。
教你个方法
不用一一单独去编辑批注大小
先在一个单元格插入批注
然后编辑好批注大小
把这个单元格复制粘贴到其他单元格
批注也会跟着走的
设置批注窗口自动适应内容的办法是没有,至少我不知道。
但你看完批注后可以用TAB键返回,这样会回到下一个单元格,就不会找不到原来批注的单元格了。
在工作表中插入以下代码试一下:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Item(1).Comment Is Noth