以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 求写代码 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=152807) |
||||
-- 作者:wangglby -- 发布时间:2020/7/22 21:50:00 -- 求写代码 表A 第一列为类别1,2,3,第二列为日期
希望实现在表B统计 类别 1,2,3在表A出现的次数和时间段,
详细见附件
先多谢了
|
||||
-- 作者:wangglby -- 发布时间:2020/7/22 22:05:00 -- 附件的表B为希望实现的统计效果,但这是手工统计的,希望用代码实现,谢谢 |
||||
-- 作者:有点蓝 -- 发布时间:2020/7/22 22:07:00 --
|
||||
-- 作者:wangglby -- 发布时间:2020/7/22 22:10:00 -- 神速,谢了 |
||||
-- 作者:hongsejiyi -- 发布时间:2020/7/22 23:10:00 -- Dim ta As Table = Tables("表A") Dim tb As Table =Tables("表B") \'默认类别列已经填写好1,2,3 ,其他的数据为0,且"数据类型为整型" Dim lbm() As String = {"类别","一季度","二季度","三季度","四季度","本月"} Dim lbh,jd As Integer \'类别号 lbh获得1,2,3 jd为季度变量 Dim rq As Date \'日期 Dim dy As Integer = Date.Today.Month \'获得当前月份 Dim dr As Row For Each r As Row In ta.Rows lbh=r("第一列") \'获得类别号 1,2,3 rq=r("第二列") \'获得记录中的日期 jd=Int((rq.Month-1)/3)+1 \'根据日期中的月份,转换成季度 dr=tb.Rows(lbh-1) \'根据类别获得"表B"对应的行号 类别1对应0行,类别2对应1行 dr(lbm(jd))=dr(lbm(jd))+1 \'根据指定单元格中的数量增加1 If rq.Month=dy Then dr(lbm(5))=dr(lbm(5))+1 End If Next
[此贴子已经被作者于2020/7/22 23:14:20编辑过]
|
||||
-- 作者:wangglby -- 发布时间:2020/7/22 23:46:00 -- 再请问,如何把去年的日期排除在统计之外,只统计今年的,谢谢 |
||||
-- 作者:wangglby -- 发布时间:2020/7/22 23:47:00 -- 谢了,学习了 |
||||
-- 作者:有点蓝 -- 发布时间:2020/7/23 8:28:00 -- 统计时再加上日期条件:http://www.foxtable.com/webhelp/topics/2720.htm |
||||
-- 作者:wangglby -- 发布时间:2020/7/23 22:19:00 -- 自己水平有限,我用这页的帮助代码,虽然能实现统计当年的数据,结果把表A给筛选了,表A只显示当年的数据了,请再帮写写代码。 |
||||
-- 作者:有点蓝 -- 发布时间:2020/7/23 22:51:00 -- 8楼的帮助是让您学会怎么使用日期条件,不是完全照搬,不用管帮助里筛选的用法,把日期条件合并到原代码里 |