|
楼主 |
发表于 2018-8-13 14:18
|
显示全部楼层
本帖最后由 zhusong1998 于 2018-8-13 14:22 编辑
还是自己编个代码,漏一手
也是学习中自己思考编写的第一个代码
虽然很不像大茄的手笔,但自己用起来还是很上手的,比自己手工输入快了不知道多少个数量级
很开心,很开心
- <p>Sub 提取各学校各专业的最低分和最高分()
- '******************************************************************************************************************
- '首先把表格的所有行计算出来,同时补充表头的“录取分数段最高”和“录取分数段最低分”
- Columns("C:D").Select
- Selection.ClearContents
- For t = 1 To Range("A65536").End(xlUp).Row '总行号
- If Cells(t, 1) = "编号" Then
- Cells(t, 3) = "录取分数段最高分"
- Cells(t, 4) = "录取分数段最低分"
- ttt = Cells(t, 1).End(xlDown).Row '计算从编号行到空行的行号
- '******************************************************************************************************************
- '再次把需要查询分数的区域规定下来,就是K-W列除去编号行及空行
-
- For tt = t + 1 To ttt '分数填充行
- If Cells(tt, 1) <> "" Then '如果需要填充行的第一个单元格不为空
- firstc = Cells(tt, 10).End(xlToRight).Column '计算第一个非空单元格的列号
- lastc = Cells(tt, 24).End(xlToLeft).Column '计算最后一个非空单元格的列号
-
- If firstc > 23 Then
- Cells(tt, 3) = "当年没有录取人数"
-
- ElseIf firstc = 11 Then
- Cells(tt, 3) = Cells(t, firstc)
- Cells(tt, 4) = Right(Cells(t, lastc), 3) '最低分是右侧三个数字
- ElseIf lastc = 23 Then
-
- Cells(tt, 3) = Left(Cells(t, firstc), 3)
- Cells(tt, 4) = Cells(t, lastc)
- Else
- Cells(tt, 3) = Left(Cells(t, firstc), 3) '最高分是左侧三个数字
- Cells(tt, 4) = Right(Cells(t, lastc), 3) '最低分是右侧三个数字
- End If
-
- End If
-
- Next
-
- End If
-
- Next</p><p>End Sub
- </p>
复制代码
校对分数段.rar
(48.27 KB, 下载次数: 4)
|
|