当前位置:首页 >> 计算机软件及应用 >> 一步一步教你excel中用VBA自动从一个表按条件把数据填充到另一张表

一步一步教你excel中用VBA自动从一个表按条件把数据填充到另一张表


一步一步教你用 VBA 自动从一个表按条件把数据填充到另一张表
高考上线与未上线统计,下面是某市 2013 年高考总分与单科分数线

2013 年全市文科分数线
全市人 数 一本分数 567 人数 372 三本分数 477 人数 4547

科目 一本 人数 分数 科目 三本 人数 分数

语文 380 112 语文 4739 99

数学 426 128 数学 4754 105

外语 444 128 外语 4691 99

政治 391 71 政治 4732 60

历史 476 82 历史 4671 71

地理 394 74 地理 4547 57

综合 393 217 综合 4575 184

单科分数线以语文为例:全市一本 372 人,即语文在 372 名的分数即为语文的上线分数。这 里关键统计某人总分上了某一分数线, 而单科没上分数线的人数。 进一步统计上该科老师头 上该科是否努力,是不是拖了后腿。 原始成绩放 sheet1 表中,统计后的数据放 sheet2 表中,科任教师名单放 sheet3 表中,数据 如下: 1. 原始成绩表 sheet1:
姓名 班 级 语文 数 学 外 语 综 合 政治 历史 地理 加 分 总 分

向恭谱 郑淞方 姜岚 沈鑫 陈静 蒋儒 张璇琳 李罗一帆 廖梓君 何志文 李昀霞 刘奕伶 赵原巧 黄莹 雷凯迪

02 02 02 02 02 02 02 02 02 02 02 02 02 06 06

114 114 110 108 112 116 116 112 113 112 113 110 110 113 113

126 127 129 137 122 129 130 132 129 112 127 125 120 119 109

138 132 131 129 130 126 126 128 125 133 134 130 130 123 128

229 229 230 225 233 226 224 222 227 235 217 222 226 232 219

67 72.5 69 72.5 73 72 68 69 72.5 76.5 69 69.5 71 76.5 67.5

84.5 83 82 74 81 81 84 79.5 83 82.5 77 84.5 79.5 82 87

77.5 73.5 79 78 79 72.5 71.5 73.5 71 76 70.5 68 75.5 73 64

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

607 602 600 599 597 597 596 594 594 592 591 587 586 587 569

梁虹 邓铃
班 1 2 3 4 5 6 7 8 9 10

06 06
班主任 肖友老师 陈小老师 张小老师 鲜松老师 何万老师 唐建老师 刘 陈 老师 老师 语文 刘

110 126 125 206 71 73.5 109 123 123 211 65.5 72
数学 老师 肖友老师 向 老师 外语 肖雪老师 陈 陈 老师 老师 物理 张长老师 何继老师 徐文老师 冯朝老师 张长老师 魏定老师 杜 老师

61.5 73
化学 吴明老师 邓君老师 王 李 陈 老师 老师 老师

0 567 0 566
生物 王耀老师 陈小老师 张小老师 黄家老师 黄家老师 林玉老师 王耀老师 张小老师 林玉老师 张小老师

2.科任教师表 sheet3

邓小老师 姚 李 老师 老师

王春老师 鲜松老师 何万老师 龙泽老师 刘 老师

高乐老师 王文老师 高乐老师 冯 老师

敬文老师 唐建老师 姚仁老师 刘 老师

唐双老师 吴明老师 陈 老师

罗巧老师 赵元老师 鲜松老师

赵文老师 贾 老师

冯朝老师 何继老师 徐文老师

邓君老师 敬文老师

邓小老师 敬文老师

邓君老师 吴明老师

王文老师

3.统计结果 sheet2:

班 姓名 02 向恭谱 02 郑淞方 02 姜岚 02 沈鑫 02 陈静 02 蒋儒

总分

类别

607 一本 602 一本 600 一本 599 一本 597 一本 597 一本

02 张璇琳

596 一本

02 李罗一帆

594 一本

02 廖梓君 02 何志文

594 一本 592 一本

未上线 科目 数学 政治 数学 地理 语文 政治 语文 历史 数学 历史 外语 历史 地理 外语 政治 地理 政治 历史 地理 外语 地理 数学

未上线分 数 126 67 127 73.5 110 69 108 74 122 81 126 81 72.5 126 68 71.5 69 79.5 73.5 125 71 112

科任教师 向 老师 何继老师 向 老师 陈小老师 邓小老师 何继老师 邓小老师 邓君老师 向 老师 邓君老师 陈 老师 邓君老师 陈小老师 陈 老师 何继老师 陈小老师 何继老师 邓君老师 陈小老师 陈 老师 陈小老师 向 老师

02 李昀霞

591 一本

02 刘奕伶

587 一本

02 赵原巧

586 一本

06 黄莹

587 一本

06 雷凯迪

569 一本

06 梁虹

567 一本

数学 政治 历史 地理 语文 数学 政治 地理 语文 数学 历史 数学 外语 地理 数学 政治 地理 语文 数学 外语 历史 地理

127 69 77 70.5 110 125 69.5 68 110 120 79.5 119 123 73 109 67.5 64 110 126 125 73.5 61.5

向 老师 何继老师 邓君老师 陈小老师 邓小老师 向 老师 何继老师 陈小老师 邓小老师 向 老师 邓君老师 龙泽老师 高乐老师 林玉老师 龙泽老师 魏定老师 林玉老师 唐建老师 龙泽老师 高乐老师 唐双老师 林玉老师

下面介绍具体的操作步骤: 一、 把成绩数据按上表的格式放 sheet1 表中,把科任教师信息看上述格式放 sheet3 表中。

二、

建立一个 VBA;选中 sheet2 表,点

菜单-- --宏---Visual Basic 编

辑器,打开 VBA 编辑器。 三、 点插入菜单---模块;双击新建的模块 1;再点插入菜单下的过程,输入 过程名,然后进入代码编辑,把下面的代码复制入代码框即可 Public Sub 测试() Dim x, y, z, v, bj, bx As Long x = 2 z = 2 For v = 2 To 2270 If Sheet1.Cells(z, 11) < 710 Then If Sheet1.Cells(z, 11) >= 567 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, Sheet2.Cells(x, 7) = Sheet3.Cells(bj x = x + 1 End If '数学 If Sheet1.Cells(z, 4) < 128 Then Sheet2.Cells(x, 5) = Sheet1.Cells(1, Sheet2.Cells(x, 6) = Sheet1.Cells(z, Sheet2.Cells(x, 7) = Sheet3.Cells(bj x = x + 1 End If '英语 If Sheet1.Cells(z, 5) < 128 Then Sheet2.Cells(x, 5) = Sheet1.Cells(1, Sheet2.Cells(x, 6) = Sheet1.Cells(z, Sheet2.Cells(x, 7) = Sheet3.Cells(bj x = x + 1 End If '政治 If Sheet1.Cells(z, 7) < 71 Then Sheet2.Cells(x, 5) = Sheet1.Cells(1, Sheet2.Cells(x, 6) = Sheet1.Cells(z, Sheet2.Cells(x, 7) = Sheet3.Cells(bj x = x + 1 End If '历史 If Sheet1.Cells(z, 8) < 82 Then Sheet2.Cells(x, 5) = Sheet1.Cells(1, Sheet2.Cells(x, 6) = Sheet1.Cells(z, Sheet2.Cells(x, 7) = Sheet3.Cells(bj x = x + 1 End If '地理 If Sheet1.Cells(z, 9) < 74 Then Sheet2.Cells(x, 5) = Sheet1.Cells(1, Sheet2.Cells(x, 6) = Sheet1.Cells(z, Sheet2.Cells(x, 7) = Sheet3.Cells(bj x = x + 1 End If End If End If z = z + 1 Next v End Sub

3) + 1, 3)

4) 4) + 1, 4)

5) 5) + 1, 5)

7) 7) + 1, 6)

8) 8) + 1, 7)

9) 9) + 1, 8)

还有不懂的可以留言。


赞助商链接
更多相关文档:

Excel VBA_批量自动制图表实例集锦

Excel VBA_批量自动制图表实例集锦_计算机软件及应用_IT/计算机_专业资料。1, ...本示例 将基于名为 Sheet1 的工作表上单元格 A1:A20 中的数据添加一个新的...

利用VBA实现Excel电子表格自动分页统计_图文

利用VBA 实现 Excel 电子表格(工资报表)自动分页统计作者:王志华 摘要:利用 VBA 编程,在 Excel 中启用宏命令,实现工资报表自动分 页统计,方便工资统计和查找报表...

使用VBA实现Excel表单数据的自动抽取与汇总

使用VBA实现Excel表单数据自动抽取与汇总_计算机软件及应用_IT/计算机_专业资料。使用 VBA 实现 Excel 表单数据自动抽取与汇总 [摘要] 本文介绍如何使用 VBA 开...

利用VBA实现EXCEL的自动化处理

利用VBA实现EXCEL自动化处理_韩语学习_外语学习_...一,是一个功能完备、技术先进和使用方便的电子表 ...扩展或填充序列的功能, 完成对整个表格 的数据编制...

Excel VBA实例教程 #008:仅复制数值到另一区域

Excel VBA实例教程 #008:仅复制数值到另一区域_IT/计算机_专业资料。如果在复制...图 1 需复制的数据表 第 3 行代码使用选择性粘贴功能并指定粘贴数值,选择性...

VBA_Excel年级成绩表中自动分出各班成绩

VBA_Excel年级成绩表中自动分出各班成绩_计算机软件及应用_IT/计算机_专业资料。Public clas As Integer Sub 统计年级成绩的班级个数() 'C 列数据为班级 Dim ...

Excel VBA实例教程 #060:使用VBA自动生成图表

在实际工作中我们常用图表来表现数据间的某种相对关系,一般采用手工插入的方式,而使用 VBA 代码可以在工作表中自动 生成图表,如下面的示例代码。 1. Sub ChartAdd...

excel中使用VBA读取excel本文档中数据写入到word表格中

excel中使用VBA读取excel本文档中数据写入到word表格中_计算机软件及应用_IT/计算机_专业资料。XXXXXXXXXXXXXXXXXXX 申请日期 Application Date: 申请人员 Applicant ...

利用VBA宏 编写的EXCEL自动报价单

利用VBA宏 编写的EXCEL自动报价单_计算机软件及应用_IT/计算机_专业资料。利用 ...会自动跳转到报价单表格并导 入前面的产品数据和价格,这样成为一个报价表粗略...

Excel VBA——从外部工作簿取数的5种方法(原创整理)

Excel VBA——从外部工作簿取数的5种方法(原创整理...宏表函数取数(不打开工作簿) ===...ref) ' 从未打开的 Excel 文件中检索数据 Dim arg As String '...

更多相关标签:
网站地图

文档资料共享网 nexoncn.com copyright ©right 2010-2020。
文档资料共享网内容来自网络,如有侵犯请联系客服。email:zhit325@126.com