excel批注

来源:百度知道 编辑:UC知道 时间:2024/06/25 17:18:08
我平时用的一张很大的表在excel里做的,因为表格很大我是把表头下面的一个单元格做冻结的,这样看下面的东西的时候还能看到表头,表里有些单元格是有批注的,不知道为什么,有些批注窗口很小不能显示全部内容,我不得不选中单元格再点编辑批注,把批注拉大才能看到全部内容,而且只要一点编辑批注,批注的窗口就会拉到离那个单元格很远的地方,等我看完批注,还要返回去找是哪个单元格的批注,有没有可以设置批注窗口自动适应内容的办法啊,还有就是不要一编辑批注窗口就跑到很远的办法啊

用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