ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 1306|回复: 14

求能按年级自动汇总各校六个年级学生考号的VBA代码

[复制链接]

TA的精华主题

TA的得分主题

发表于 2021-3-31 09:25 | 显示全部楼层 |阅读模式
本帖最后由 牛爱兵 于 2021-3-31 09:28 编辑

求助问题:我们这里使用网上阅卷,考前需要将各校学生的考号信息导入系统,但导入时要求按年级导入,因此我需要将12个学校每个学校6个年级的学生考号信息汇总在一个文件中,每次都需要花费大半天时间,而且看的眼疼,复制粘贴的手疼。想在文件“各校六个年级考号汇总”中求一篇VBA代码,能够自动将每个学校6个年级的学生考号信息按年级汇总在这个文件中(汇总后每个年级只需要一行标题就行了),谢谢。

各校学生考号收集汇总.rar

847.21 KB, 下载次数: 14

TA的精华主题

TA的得分主题

发表于 2021-3-31 12:29 来自手机 | 显示全部楼层
类似的贴子很多,搜搜看看嘛

TA的精华主题

TA的得分主题

发表于 2021-3-31 12:46 | 显示全部楼层
供参考。

牛爱兵_各校学生考号收集汇总.rar

614.1 KB, 下载次数: 16

各校六个年级考号汇总.rar

102.74 KB, 下载次数: 9

自定义学校排序

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2021-3-31 14:50 来自手机 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
Sub WorkbookSummary()
    Dim i As Integer
    Dim j As Integer
    Dim k As Integer
    Dim wksSheet As Worksheet
    Dim strPath As String
    Dim avntFileNames() As Variant
    Dim avntSheetNames() As Variant
    Dim objFso As Object
    Dim objFolder As Object
    Dim objFiles As Object
    Dim objFile As Object
    i = 1
    avntSheetNames() = Array("一年级", "二年级", "三年级", "四年级", "五年级", "六年级")
    strPath = ThisWorkbook.Path
    Set objFso = CreateObject("Scripting.FileSystemObject")
    Set objFolder = objFso.getfolder(strPath)
    Set objFiles = objFolder.Files
    ReDim avntFileNames(1 To objFiles.Count - 2)
    For Each objFile In objFiles
        If Not Right(objFile.Name, 4) = "xlsm" Then
            avntFileNames(i) = objFile.Name
            i = i + 1
        End If
    Next
    For j = 1 To UBound(avntFileNames)
        Workbooks.Open strPath & "\" & avntFileNames(j)
        For k = 0 To 5
            Workbooks(avntFileNames(j)).Activate
            Set wksSheet = Sheets(avntSheetNames(k))
            wksSheet.Select
            If wksSheet.Range("a2").Value <> "" Then
                With wksSheet.Range("a1").CurrentRegion
                    .Offset(1, 0).Resize(.Rows.Count - 1, .Columns.Count).Copy
                End With
                ThisWorkbook.Activate
                Sheets(avntSheetNames(k)).Select
                Range("a" & Range("a1").CurrentRegion.Rows.Count + 1).Select
                ActiveSheet.Paste
            End If
       Next k
        Range("a1").Copy
        Workbooks(avntFileNames(j)).Close savechanges:=False
    Next j
End Sub
注意把代码放入汇总文件中,汇总文件需和各校考号文件放在同一文件夹中,汇总文件各表头自行添加,汇总文件需存为xlsm文件。另外你文件夹里的“节张小学考号”是错误文件无法打开。

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2021-3-31 19:27 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

经过反复测试,两个VBA都能准确的对各校考号进行汇总,最实用的是能“自定义学校排序”这个,不仅能自定义学校排序,而且能统计各校各年级的人数,非常实用精准。感谢版主能在百忙中抽出时间帮我,而且能够设身处地的考虑到我的实际需求,感恩帮助,祝您开心快乐每一天!

TA的精华主题

TA的得分主题

 楼主| 发表于 2021-3-31 19:52 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
ericxzhou 发表于 2021-3-31 14:50
Sub WorkbookSummary()
    Dim i As Integer
    Dim j As Integer

首先感谢帮助,按照您的方法操作,提示“下标越界”,自动打开了世纪星学校的文件,光标停在了右侧的I列,好象多了一列,我不懂,反正是不能正常运行,特此告知,共同学习进步。

各校考号.rar

525.78 KB, 下载次数: 2

TA的精华主题

TA的得分主题

发表于 2021-4-1 12:18 来自手机 | 显示全部楼层
牛爱兵 发表于 2021-3-31 19:52
首先感谢帮助,按照您的方法操作,提示“下标越界”,自动打开了世纪星学校的文件,光标停在了右侧的I列 ...

问题出在:汇总文件需要手动建立6个工作表,各命名为“一年级”至“六年级”,另外代码不能放在“本工作簿”里面,应该插入一个模块,放在模块里面。各工作表的表头也需手动添加。

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2021-4-1 17:46 | 显示全部楼层
本帖最后由 牛爱兵 于 2021-4-1 17:48 编辑

好象是按你说的做了,可是还是不行,提示“400”,另外,“代码不能放在“本工作簿”里面,应该插入一个模块,放在模块里面”,怎样插入模块?能否制做好,让我看看?

各校考号研究.rar

534.21 KB, 下载次数: 0

TA的精华主题

TA的得分主题

发表于 2021-4-1 17:50 来自手机 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
牛爱兵 发表于 2021-4-1 17:46
好象是按你说的做了,可是还是不行,提示“400”,另外,“代码不能放在“本工作簿”里面,应该插入一个模 ...

我手机无法上传附件,网上搜搜如何插入excel VBA模块,很容易的

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2021-4-1 19:31 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
ericxzhou 发表于 2021-4-1 17:50
我手机无法上传附件,网上搜搜如何插入excel VBA模块,很容易的

通过在网上搜怎样插入模块,在模块中粘贴了你写的代码,然后插入按纽链接代码,成功了,学习了,多谢,以后有问题再请教你。

各校考号研究.rar

942.81 KB, 下载次数: 3

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-23 06:51 , Processed in 0.045042 second(s), 17 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表