室内设计培训
平面设计培训
部落窝教育
网站首页 >> Excel教程 >> 文章内容

excel提取批注的两个方法

[日期:2012-03-14]   来源:IT部落窝  作者:IT部落窝   阅读:10296[字体: ]
内容提要:本文介绍两种excel提取批注的方法,都是通过VBA代码完成提取的。

  excel提取批注内容到单元格,使用excel内置命令无法完成。

excel提取批注方法一:

  比如下图所示A2:A9单元格区域都添加了批注,将这些批注内容提取到C2:C9单元格区域里面。比如A2单元格的批注内容是:没有销量,对应的C2单元格显示的内容就是:没有销量。

excel提取批注

  excel提取批注的操作步骤如下:

  按ATL+F11,打开VBE编辑器,单击插入——模块,复制粘贴下面的代码到右边的编辑窗口。然后回到excel工作表,在C2单元格输入公式:=pizhu(A2),下拉复制即可提取批注。

Public Function pizhu(i As Range)
  pizhu = i.Cells.Comment.Text
End Function

  通过编写上面的自定义函数来提取批注,可方便的调用,就如同使用普通公式一样使用。

excel提取批注的自定义函数

  使用上面的这个提取批注的不完美之处在于,如果原有单元格的批注内容编辑更新后,上面的方法不会自动更新,只有双击重新编辑单元格公式才会更新。如果需要自动更新可以在代码前面添加一句:Application.Volatile True   '自定义函数自动刷新。

  修改后代码如下:

Public Function pizhu(i As Range)
   Application.Volatile True   '自定义函数自动刷新
  pizhu = i.Cells.Comment.Text
End Function

excel提取批注方法二:

  再提供一段代码,使用方法同上,代码如下:

    Function GetComment(rCell As Range)
    Application.Volatile   '将自定义函数标记为易失性函数
    Dim Cmt As String
    On Error Resume Next
    Cmt = rCell.Comment.Text
    GetComment = Right(Cmt, Len(Cmt) - InStr(1, Cmt, ":", vbTextCompare))
    On Error GoTo 0
End Function

  返回到Excel工作表,比如要提取A2单元格的批注内容,则在C2单元格输入公式: =GetComment(A12)即可提取批注。

  提示:此自定义函数仅提取批注内容,而不包含批注作者。由于将自定义函数标记为易失性函数,如果A2单元格中的批注被修改,按F9键或当任意单元格进行计算时即可得提取到修改后的批注内容。

IT部落窝PS,CDR,213班 分享到: QQ空间 新浪微博 腾讯微博 人人网
photoshop教程
Photoshop教程
平面设计教程
Photoshop教程