一步一步教你用VBA自动从一个表按条件把数据填充到另一张表
高考上线与未上线统计,下面是某市2013年高考总分与单科分数线
excel线上教学课程
2013年全市文科分数线
全市人数
一本分数
人数
三本分数
人数
 
 
 
 
567
372
477
4547
 
 
 
 
 
 
一本
科目
语文
数学
外语
政治
历史
地理
综合
人数
38
76
394
393
分数
112
128
128
71
82
74
217
三本
科目
语文
数学
外语
政治
历史
地理
综合
人数
4739
4754
469
47
4575
分数
99
1
84
单科分数线以语文为例:全市一本372人,即语文在372名的分数即为语文的上线分数。这里
关键统计某人总分上了某一分数线,而单科没上分数线的人数。进一步统计上该科老师头上该科是否努力,是不是拖了后腿。
原始成绩放sheet1表中,统计后的数据放sheet2表中,科任教师名单放sheet3表中,数据如下:
原始成绩表sheet1:
姓名
班级
语文
数学
外语
综合
政治
历史
地理
加分
总分
向恭谱
229
67
84.5
77.5
0
607
郑淞方
229
72.5
83
73.5
0
602
姜岚
00
沈鑫
02
108
.5
74
78
0
599
陈静
97
蒋儒
226
72
81
72.5
0
597
张璇琳
02
116
84
71.5
0
596
李罗一帆
02
112
79.5
73.5
0
594
廖梓君
02
1
72.5
83
71
0
594
何志文
235
76.5
82.5
76
0
592
李昀霞
02
1
69
77
70.5
0
591
刘奕伶
222
69.5
84.5
68
0
587
赵原巧
226
71
79.5
75.5
0
586
黄莹
06
1
76.5
82
73
0
587
雷凯迪
06
1
67.5
87
64
0
569
梁虹
206
71
73.5
61.5
0
567
邓铃
211
65.5
72
73
0
566
2.科任教师表sheet3
班主任
语文
数学
外语
物理
化学
生物
1
肖友老师
刘 老师
肖友老师
肖雪老师
张长老师
吴明老师
王耀老师
2
陈小老师
邓小老师
向 老师
陈 老师
何继老师
邓君老师
陈小老师
3
张小老师
姚 老师
王春老师
陈 老师
徐文老师
王 老师
张小老师
4
鲜松老师
李 老师
鲜松老师
高乐老师
冯朝老师
李 老师
黄家老师
5
何万老师
敬文老师
何万老师
王文老师
张长老师
陈 老师
黄家老师
6
唐建老师
唐建老师
龙泽老师
高乐老师
魏定老师
唐双老师
林玉老师
7
刘 老师
姚仁老师
刘 老师
冯 老师
杜 老师
吴明老师
王耀老师
8
陈 老师
刘 老师
罗巧老师
赵文老师
冯朝老师
陈 老师
张小老师
9
邓君老师
邓小老师
赵元老师
贾 老师
何继老师
邓君老师
林玉老师
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
一本
政治
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
龙泽老师
外语
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, 3)
      Sheet2.Cells(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)
      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) < 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)

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。