ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > E问E答 > Excel VBA > 如何统计所选区域内有公式的单元格个数?

如何统计所选区域内有公式的单元格个数?

作者:绿色风 分类: 时间:2022-08-17 浏览:172
楼主
syz105729913
Q:如何统计所选区域内有公式的单元格个数?
A:可以使用以下自定义函数
  1. Public Function AA(x As Range) '定义x为单元格选择
  2. For I = 1 To x.Cells.Count '在1到所选单元格的个数之间循环
  3. If Cells(I + x.Row - 1, x.Column).HasFormula Then '判断所选单元格是否含有公式,如果有则累加1
  4.    K = K + 1
  5. End If
  6. Next I
  7. AA = "所选区域有" & K & "单元格有公式"
  8. End Function



示例文件

示例.rar
2楼
棉花糖
可用SpecialCells简化,避免循环。
selection.SpecialCells(xlCellTypeFormulas, 23).Count 在立即窗口中显示是4.
但是在函数代码中x.SpecialCells(xlCellTypeFormulas, 23).Count,结果又是7
见鬼了。
3楼
biaotiger1
  1. Sub a()
  2. Debug.Print Selection.SpecialCells(xlCellTypeFormulas, 23).Count
  3. MsgBox Selection.SpecialCells(xlCellTypeFormulas, 23).Count
  4. End Sub
  1. Sub a()
  2. Debug.Print Selection.SpecialCells(xlCellTypeFormulas).Count
  3. MsgBox Selection.SpecialCells(xlCellTypeFormulas).Count
  4. End Sub


我这里显示一样的啊,EXCEL2003环境



另,如果区域中有错误值,可能孙版自定义函数要更改下
On Error Resume Next
4楼
lanye205
好好学习

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap