标签:VBA
为了使用VBA处理批注,需要使用Comment对象。允许删除批注、更改批注文本或查找批注作者或批注所在的单元格等操作。
添加批注
要添加批注,使用Range对象的AddComment方法。
代码语言:javascript复制Sub AddComment()
'如果批注已经存在,则会导致错误
'因此需要检查是否存在批注或者错误捕捉
Range("A1").AddComment "使用VBA添加批注"
End Sub
注意:以这种方式创建批注会导致批注中不会显示作者姓名,就像手动插入批注一样。
删除批注
使用Delete方法删除批注。
代码语言:javascript复制Commment.Delete
从工作表中删除指定作者的批注
可以通过在调用过程时传递字符串参数来指定作者,而不是对作者进行硬编码。
代码语言:javascript复制Sub DeleteAuthorsComments()
'能够以参数来传递作者
'Sub DeleteComment(Author as String)
Dim Comment_ As Comment
For Each Comment_ In ActiveSheet.Comments
If Comment_.Author = "excelperfect" Then Comment_.Delete
Next
End Sub
删除工作表中的所有批注
可以通过在调用过程时传递字符串参数来指定作者,而不是对作者进行硬编码。
代码语言:javascript复制Sub DeleteAllCommentsInSheet()
Dim Comment_ As Comment
For Each Comment_ In ActiveSheet.Comments
Comment_.Delete
Next
End Sub
删除工作簿中的所有批注
遍历每个工作表中的每个批注并删除。
代码语言:javascript复制Sub DeleteAllCommentsInWorkbook()
Dim Comment_ As Comment
Dim wks As Worksheet
For Each wks In Worksheets
For Each Comment_ In wks.Comments
Comment_.Delete
Next Comment_
Next wks
End Sub
找到某作者的批注
更改指定作者的批注所在单元格的颜色。
代码语言:javascript复制Sub FindCommentAuthor()
Dim Comment_ As Comment
For Each Comment_ In ActiveSheet.Comments
If Comment_.Author = "excelperfect" Then Comment_.Parent.Interior.Color = vbGreen
Next Comment_
End Sub
显示或隐藏批注指示器
仅批注指示器
代码语言:javascript复制Application.DisplayCommentIndicator = xlCommentIndicatorOnly
批注和指示器
代码语言:javascript复制Application.DisplayCommentIndicator = xlCommentAndIndicator
无指示器
代码语言:javascript复制Application.DisplayCommentIndicator = xlNoIndicator
改变批注的背景色
将批注背景色改为绿色。
代码语言:javascript复制Sub ColoredComments()
Dim Comment_ As Comment
For Each Comment_ In ActiveSheet.Comments
Comment_.Shape.Fill.ForeColor.RGB = RGB(0, 255, 0)
Next
End Sub
欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识。