excel vba 区域中同时符合两个条件的行数

A列为日期(区域),B列为名字(条件1),C列为成绩(条件2).要求在一定日期区域内,统计每一个人成绩优良次数。必须用excelvba函数(宏)完成。... A 列为 日期(区域),B列为 名字(条件1),C列为成绩(条件2).
要求在一定日期区域内,统计每一个人成绩优良次数。
必须用excel vba 函数(宏)完成。
展开
 我来答
zhangcunb
2013-05-12 · TA获得超过400个赞
知道小有建树答主
回答量:547
采纳率:53%
帮助的人:193万
展开全部
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim d1, d2 As Date
d1 = Cells(2, 5).Value '日期1
d2 = Cells(2, 6).Value'日期2,要求日期1=<日期2
Dim rm, cj
rm = Cells(2, 7)'条件人名
cj = Cells(2, 8)'条件成绩
i = Sheet1.Range("a65536").End(xlUp).Row '行数
b = 0
For k = 2 To i
If Range("A" & k).Value >= d1 And Range("A" & k).Value <= d2 And Range("B" & k) = rm And Range("C" & k) = cj Then
b = b + 1
End If
Next
Cells(2, 9) = b
End Sub
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
朱仕平
2013-05-11 · 知道合伙人软件行家
朱仕平
知道合伙人软件行家
采纳数:7872 获赞数:29183
15年质量管理经验, 5年EXCEL培训经验, 目前专职EXCEL网络教育和企业培训

向TA提问 私信TA
展开全部
I2单元格输入公式
=sumproduct((A2:A1000>=E2)*(A2:A1000<=F2)*(B2=G2)*(C2:C1000=H2))

2010里面可以用公式
=countifs(A:A,">="&E2,A:A,"<="&E2,B:B,G2,C:C,H2)
追问
谢谢帮忙,但是我要的是VBA代码(宏代码)。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lizimhf
2013-05-11 · TA获得超过167个赞
知道小有建树答主
回答量:92
采纳率:0%
帮助的人:103万
展开全部
直接用函数行不行,用VBA显得更复杂了
追问
必须用VBA代码,因为这个是我在编程的一个数据查询软件的一部分。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式