ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
123
返回列表 发新帖
楼主: 玉阳山人

[求助] 按指定间隔行号进行条件计数的sub过程

[复制链接]

TA的精华主题

TA的得分主题

发表于 2018-9-12 19:09 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
lss001 发表于 2018-9-12 18:46
少了Then见楼上!

老师:经测试,显示正确。

  既然可作为加载宏使用,今到明天,我仔细整个尽可能涵盖各种特殊情况的附件,就以4楼的最新代码为基础,增加一些经常用到的功能上传,麻烦您帮忙编写个代码。

另外:感觉http://club.excelhome.net/forum.php?mod=redirect&goto=findpost&ptid=1434768&pid=9651095里的代码您又作了修改,
Application.ScreenUpdating = True
End Sub

Function COUNTIFZQ(qy As Range, zq, tj, Optional x)
     Application.Volatile
     arr = qy: ReDim brr(1 To UBound(arr), 1 To 1)
     k = qy.Find("*", , , , xlByRows, xlPrevious).Row
      For i = 1 To UBound(arr)
         If i = k - qy.Row + 2 Then Exit For
         If arr(i, 1) = "" Then arr(i, 1) = "#"
         If i Mod zq = 1 Then j = j + 1
         If arr(i, 1) = tj Then brr(j, 1) = brr(j, 1) + 1
    Next
    If (k - 4) / zq = Int((k - 4) / zq) And x = 0 Then t = j + 1 Else t = j + x
    For i = t To UBound(arr): brr(i, 1) = "": Next
    COUNTIFZQ = brr
End Function

里面的:
Application.ScreenUpdating = True
End Sub       这两句是后加的?复制了以后,出现了错误。

TA的精华主题

TA的得分主题

发表于 2018-9-12 19:15 来自手机 | 显示全部楼层
Application.ScreenUpdating = True
End Sub
这两行是复制时带上的另一代码结尾
应删掉!!!

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2018-9-12 19:32 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
lss001 发表于 2018-9-12 19:15
Application.ScreenUpdating = True
End Sub
这两行是复制时带上的另一代码结尾

我说呢,去掉了这两行显示的结果就正确了!
下一步不再考虑《使代码能够忽略数据区域中间的空白单元格进行计算》,全力以赴解决15楼里的最后一个问题:选择框里的项目还可以精简一些,改为两列:1,需要进行统计的数据源所在位置:如在《总表》G5:G100000里,可以写成 -- 总表!G  吗?    2.输出结果的最左列标   

TA的精华主题

TA的得分主题

发表于 2018-9-12 22:56 来自手机 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
13782671637 发表于 2018-9-12 19:32
我说呢,去掉了这两行显示的结果就正确了!
下一步不再考虑《使代码能够忽略数据区域中间的空白单元格进 ...

4楼代码已修改!

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-9-12 23:19 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
lss001 发表于 2018-9-12 22:56
4楼代码已修改!

20180912231433.png

老师:怎样在选择框里输入?恳请老师以1楼附件为例,作个范例。

TA的精华主题

TA的得分主题

发表于 2018-9-13 07:39 来自手机 | 显示全部楼层
玉阳山人 发表于 2018-9-12 23:19
老师:怎样在选择框里输入?恳请老师以1楼附件为例,作个范例。

4楼代码有举例

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-9-13 10:45 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

20180913064742.png 20180913064801.png

选择框举例说明.zip (386.9 KB, 下载次数: 1)

老师:这是别人写的一个过程,里面选择框的设置就非常简洁方便。当然《按指定间隔行号进行条件计数的sub过程》的选择框里的设置和格式,要复杂得多。这个附件里的选择框可以参考和借鉴。

按指定间隔行号进行条件计数的sub过程》的表格正在重新设计中,这个表格更接近实际需要。预计下午可以上传。


TA的精华主题

TA的得分主题

 楼主| 发表于 2018-9-13 13:39 | 显示全部楼层
本帖最后由 玉阳山人 于 2018-9-13 14:41 编辑

老师:上传重新设计的表格:请看截图:感觉有了《总表》第二行的不重复数据个数,有了统计表《1》、《2》里H1:H3,和第二行的数据源所在表名,第三行的数据源所在列标。是不是不需要选择框就能编写过程代码了?
    附件在最下边。
20180913132210.png 20180913132229.png 20180913132243.png 20180913132931.png

    老师:如果条件计数项目在几个工作表【如附件的《1》、《2》】里,宏按钮是不是需要放在《总表》中?点击一次,就能自动更新《1》、《2》......《5》里面的计算结果?


    按指定周期进行条件计数的代码.zip (1.05 MB, 下载次数: 10)   

TA的精华主题

TA的得分主题

发表于 2018-9-13 18:22 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2025-1-15 08:03 , Processed in 0.026559 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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