Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 3927|回复: 14

[已解决]请问如何计算多个工作表中的职位人数

[复制链接]
发表于 2016-12-2 14:07 | 显示全部楼层 |阅读模式
本帖最后由 bella2046 于 2016-12-2 14:14 编辑

一个工作簿中有多个工作表,现要计算多个工作表中的A级员的总人数?由于每个工作表的名称没有规律的,请问各位有哪些公式可以计算出来,而且我实际工作中使用的表格数量达到几十份,手输公式的话效率会很慢,在此请教各位了。
01.png 02.png 03.png 04.png
最佳答案
2016-12-2 15:11
bella2046 发表于 2016-12-2 15:09
发现了一个疑问,现我设好了代码,计算目前的A级员总人数是正确的,但后续因数据有变动,如减少一个A级员 ...
  1. Function CONT()
  2. Application.Volatile
  3.     Dim i&, sht As Worksheet
  4.     For Each sht In Worksheets
  5.         For i = 1 To sht.UsedRange.Rows.Count
  6.             If sht.Cells(i, 3) = "A级员" Then
  7.                 n = n + 1
  8.             End If
  9.         Next
  10.     Next
  11.    CONT = n
  12. End Function
复制代码
加一句代码

求多个工作表的总数.rar

10.25 KB, 下载次数: 6

发表于 2016-12-2 14:17 | 显示全部楼层
回复

使用道具 举报

 楼主| 发表于 2016-12-2 14:28 | 显示全部楼层
回复

使用道具 举报

发表于 2016-12-2 14:32 | 显示全部楼层
本帖最后由 望帝春心 于 2016-12-2 14:36 编辑
bella2046 发表于 2016-12-2 14:28
我不懂怎么写公式哦
  1. Function CONT()
  2.     Dim i&, sht As Worksheet
  3.     For Each sht In Worksheets
  4.         For i = 1 To sht.UsedRange.Rows.Count
  5.             If sht.Cells(i, 3) = "A级员" Then
  6.                 n = n + 1
  7.             End If
  8.         Next
  9.     Next
  10.    CONT = n
  11. End Function
复制代码
VBA自定义函数,代码放入模块中,然后回到表格,在C列外的任意空白单元格输入=CONT()就可以了

评分

参与人数 1 +1 收起 理由
bella2046 + 1 很给力

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2016-12-2 14:35 | 显示全部楼层
望帝春心 发表于 2016-12-2 14:32
VBA自定义函数,代码放入模块中,然后回到表格,在C列外的余空白单元格输入=CONT()就可以了

先谢谢了,我试试先{:11:}
回复

使用道具 举报

发表于 2016-12-2 14:38 | 显示全部楼层
bella2046 发表于 2016-12-2 14:35
先谢谢了,我试试先

参考效果,随意多少张工作表都可以
QQ截图20161202153852.png
回复

使用道具 举报

 楼主| 发表于 2016-12-2 15:01 | 显示全部楼层
望帝春心 发表于 2016-12-2 14:38
参考效果,随意多少张工作表都可以

成功了,谢谢啦!不过不太懂里面写的意思
回复

使用道具 举报

发表于 2016-12-2 15:03 | 显示全部楼层
bella2046 发表于 2016-12-2 15:01
成功了,谢谢啦!不过不太懂里面写的意思

太棒啦,成功了给我点个赞吧,评个最佳走起
回复

使用道具 举报

 楼主| 发表于 2016-12-2 15:09 | 显示全部楼层
望帝春心 发表于 2016-12-2 14:38
参考效果,随意多少张工作表都可以

发现了一个疑问,现我设好了代码,计算目前的A级员总人数是正确的,但后续因数据有变动,如减少一个A级员,这计算出来的总数并没有跟着减少。
回复

使用道具 举报

发表于 2016-12-2 15:11 | 显示全部楼层    本楼为最佳答案   
bella2046 发表于 2016-12-2 15:09
发现了一个疑问,现我设好了代码,计算目前的A级员总人数是正确的,但后续因数据有变动,如减少一个A级员 ...
  1. Function CONT()
  2. Application.Volatile
  3.     Dim i&, sht As Worksheet
  4.     For Each sht In Worksheets
  5.         For i = 1 To sht.UsedRange.Rows.Count
  6.             If sht.Cells(i, 3) = "A级员" Then
  7.                 n = n + 1
  8.             End If
  9.         Next
  10.     Next
  11.    CONT = n
  12. End Function
复制代码
加一句代码

评分

参与人数 1 +1 收起 理由
bella2046 + 1 来学习,实在太厉害了!!

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-26 10:25 , Processed in 2.282707 second(s), 12 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表