虫虫技术在线--技术决定出路

当前位置: 首页 > 办公 > Excel >

VBA如何实现将批注中有同样字符的单元格相加的

时间:2010-07-09 23:23来源:虫虫技术在线收集整理 作者:虫虫编辑 点击:
问:VBA如何实现将批注中有同样字符的单元格相加的功能?例如:把批注中带有支出字眼的数个分布在各处的单元格相加? 答:用VBA自编一个自定义函数,第一个参数是相同的字眼,第

问:VBA如何实现将批注中有同样字符的单元格相加的功能?例如:把批注中带有"支出"字眼的数个分布在各处的单元格相加?
 

答:用VBA自编一个自定义函数,第一个参数是相同的字眼,第二个参数是要统计的范围。添加自定义函数的方法是按Alt+F11打开VBA编辑器,插入一个模块,把下面的代码贴进去。用法:在Excel表里统计范围外的任意单元格里插入公式“=统计批注("支出",A1:C5)”,“支出”就是你所谓的相同字眼,A1:C5就是统计的单元格范围。
 

在同一工作表中可以用如下代码:

  1. Function 统计批注(参数 As String, 范围 As Range) As Double   
  2. For Each 单元格 In 范围.Cells   
  3. If Not (单元格.Comment Is NothingThen   
  4. If InStr(1, 单元格.Comment.Text, 参数) <> 0 Then   
  5. 统计批注 = 统计批注 + 单元格   
  6. End If   
  7. End If   
  8. Next   
  9. End Function 



在整个工作簿中用下面的代码:
 

  1. Function 统计所有单元格批注(参数 As StringAs Double 
  2.     Dim 工作表 As Worksheet, 批注 As Comment  
  3.     For Each 工作表 In ActiveWorkbook.Worksheets  
  4.         For Each 批注 In 工作表.Comments  
  5.             If InStr(1, 批注.Text, 参数) <> 0 Then 统计所有单元格批注 = 统计所有单元格批注 + 批注.Parent.Value  
  6.         Next 
  7.     Next 
  8. End Function  

 

(责任编辑:admin)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
栏目列表
推荐内容