批量处理批注
需求:工作中经常会遇到处理大量批注的问题,于是搞了一段代码,稍微提高一点效率。
情况一、把批注转换为自身单元格内容
话不多说直接上最终截图,(图1、图2)。
图1几乎全是批注
图2最终结果
实现过程:
- 插入宏代码如下。
-
Sub getComment() Dim Rng As Range Dim WorkRng As Range On Error Resume Next Set WorkRng = Application.Selection Set WorkRng = Application.InputBox("Range", , WorkRng.Address, Type:=8) For Each Rng In WorkRng Rng.Value = Rng.NoteText Next End Sub
- 选中要执行宏的单元格,点击执行(图3)。
图3 执行步骤
情况二、把单元格内容转换为批注
话不多说直接上最终截图,(图4、图5)。
图4 大量内容需要转换为批注
图5最终结果
实现过程:
- 插入宏代码如下。
-
Sub addComment() Dim r As Range, rs As Range Set rs = Selection For Each r In rs If r.Value <> "" Then If Not r.Comment Is Nothing Then r.Comment.Text Text:=r.Text Else r.AddComment r.Text End If End If Next r End Sub
- 选中要执行宏的单元格,点击执行(图6)。
图6 执行步骤