使用VBA处理批注

2024-05-13 16:06:49 浏览数 (2)

标签: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

欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识。

0 人点赞