1、一步一步教你excel中用VBA自动从一个表按条件把数据填充到另一张表精品资料一步一步教你用VBA自动从一个表按条件把数据填充到另一张表高考上线与未上线统计,下面是某市2013年高考总分与单科分数线2013年全市文科分数线全市人数一本分数人数三本分数人数5673724774547一本科目语文数学外语政治历史地理综合人数380426444391476394393分数112128128718274217三本科目语文数学外语政治历史地理综合人数4739475446914732467145474575分数9910599607157184单科分数线以语文为例:全市一本372人,即语文在372名的分数即为
2、语文的上线分数。这里关键统计某人总分上了某一分数线,而单科没上分数线的人数。进一步统计上该科老师头上该科是否努力,是不是拖了后腿。原始成绩放sheet1表中,统计后的数据放sheet2表中,科任教师名单放sheet3表中,数据如下:1 原始成绩表sheet1:姓名班级语文数学外语综合政治历史地理加分总分向恭谱021141261382296784.577.50607郑淞方0211412713222972.58373.50602姜岚021101291312306982790600沈鑫0210813712922572.574780599陈静021121221302337381790597蒋儒0211
3、6129126226728172.50597张璇琳02116130126224688471.50596李罗一帆021121321282226979.573.50594廖梓君0211312912522772.583710594何志文0211211213323576.582.5760592李昀霞02113127134217697770.50591刘奕伶0211012513022269.584.5680587赵原巧021101201302267179.575.50586黄莹0611311912323276.582730587雷凯迪0611310912821967.587640569梁虹0611012
4、61252067173.561.50567邓铃0610912312321165.5727305662.科任教师表sheet3班班主任语文数学外语物理化学生物1肖友老师刘老师肖友老师肖雪老师张长老师吴明老师王耀老师2陈小老师邓小老师向老师陈老师何继老师邓君老师陈小老师3张小老师姚老师王春老师陈老师徐文老师王老师张小老师4鲜松老师李老师鲜松老师高乐老师冯朝老师李老师黄家老师5何万老师敬文老师何万老师王文老师张长老师陈老师黄家老师6唐建老师唐建老师龙泽老师高乐老师魏定老师唐双老师林玉老师7刘老师姚仁老师刘老师冯老师杜老师吴明老师王耀老师8陈老师刘老师罗巧老师赵文老师冯朝老师陈老师张小老师9邓君老师邓
5、小老师赵元老师贾老师何继老师邓君老师林玉老师10敬文老师敬文老师鲜松老师王文老师徐文老师吴明老师张小老师3.统计结果sheet2:班姓名总分类别未上线科目未上线分数科任教师02向恭谱607一本数学126向老师政治67何继老师02郑淞方602一本数学127向老师地理73.5陈小老师02姜岚600一本语文110邓小老师政治69何继老师02沈鑫599一本语文108邓小老师历史74邓君老师02陈静597一本数学122向老师历史81邓君老师02蒋儒597一本外语126陈老师历史81邓君老师地理72.5陈小老师02张璇琳596一本外语126陈老师政治68何继老师地理71.5陈小老师02李罗一帆594一本政
6、治69何继老师历史79.5邓君老师地理73.5陈小老师02廖梓君594一本外语125陈老师地理71陈小老师02何志文592一本数学112向老师02李昀霞591一本数学127向老师政治69何继老师历史77邓君老师地理70.5陈小老师02刘奕伶587一本语文110邓小老师数学125向老师政治69.5何继老师地理68陈小老师02赵原巧586一本语文110邓小老师数学120向老师历史79.5邓君老师06黄莹587一本数学119龙泽老师外语123高乐老师地理73林玉老师06雷凯迪569一本数学109龙泽老师政治67.5魏定老师地理64林玉老师06梁虹567一本语文110唐建老师数学126龙泽老师外语12
7、5高乐老师历史73.5唐双老师地理61.5林玉老师下面介绍具体的操作步骤:一、 把成绩数据按上表的格式放sheet1表中,把科任教师信息看上述格式放sheet3表中。二、 建立一个VBA;选中sheet2表,点菜单- -宏-Visual Basic编辑器,打开VBA编辑器。三、 点插入菜单-模块;双击新建的模块1;再点插入菜单下的过程,输入过程名,然后进入代码编辑,把下面的代码复制入代码框即可Public Sub 测试()Dim x, y, z, v, bj, bx As Longx = 2z = 2For v = 2 To 2270 If Sheet1.Cells(z, 11) = 567
8、Then Sheet2.Cells(x, 2) = Sheet1.Cells(z, 1) Sheet2.Cells(x, 1) = Sheet1.Cells(z, 2) Sheet2.Cells(x, 3) = Sheet1.Cells(z, 11) Sheet2.Cells(x, 4) = 一本 bj = Sheet1.Cells(z, 2) 语文 If Sheet1.Cells(z, 3) 112 Then Sheet2.Cells(x, 5) = Sheet1.Cells(1, 3) Sheet2.Cells(x, 6) = Sheet1.Cells(z, 3) Sheet2.Cells
9、(x, 7) = Sheet3.Cells(bj + 1, 3) x = x + 1 End If 数学 If Sheet1.Cells(z, 4) 128 Then Sheet2.Cells(x, 5) = Sheet1.Cells(1, 4) Sheet2.Cells(x, 6) = Sheet1.Cells(z, 4) Sheet2.Cells(x, 7) = Sheet3.Cells(bj + 1, 4) x = x + 1 End If 英语 If Sheet1.Cells(z, 5) 128 Then Sheet2.Cells(x, 5) = Sheet1.Cells(1, 5)
10、Sheet2.Cells(x, 6) = Sheet1.Cells(z, 5) Sheet2.Cells(x, 7) = Sheet3.Cells(bj + 1, 5) x = x + 1 End If 政治 If Sheet1.Cells(z, 7) 71 Then Sheet2.Cells(x, 5) = Sheet1.Cells(1, 7) Sheet2.Cells(x, 6) = Sheet1.Cells(z, 7) Sheet2.Cells(x, 7) = Sheet3.Cells(bj + 1, 6) x = x + 1 End If 历史 If Sheet1.Cells(z, 8
11、) 82 Then Sheet2.Cells(x, 5) = Sheet1.Cells(1, 8) Sheet2.Cells(x, 6) = Sheet1.Cells(z, 8) Sheet2.Cells(x, 7) = Sheet3.Cells(bj + 1, 7) x = x + 1 End If 地理 If Sheet1.Cells(z, 9) 74 Then Sheet2.Cells(x, 5) = Sheet1.Cells(1, 9) Sheet2.Cells(x, 6) = Sheet1.Cells(z, 9) Sheet2.Cells(x, 7) = Sheet3.Cells(bj + 1, 8) x = x + 1 End If End If End Ifz = z + 1Next vEnd Sub还有不懂的可以留言。仅供学习与交流,如有侵权请联系网站删除 谢谢6