以文本方式查看主题

-  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出现的次数和时间段,

 

 

详细见附件

 

先多谢了

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.table


--  作者:wangglby
--  发布时间:2020/7/22 22:05:00
--  
附件的表B为希望实现的统计效果,但这是手工统计的,希望用代码实现,谢谢
--  作者:有点蓝
--  发布时间:2020/7/22 22:07:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目13.zip


--  作者: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楼的帮助是让您学会怎么使用日期条件,不是完全照搬,不用管帮助里筛选的用法,把日期条件合并到原代码里