基于Excel VBA的实训室信息表一键批量生成系统.pdf
《基于Excel VBA的实训室信息表一键批量生成系统.pdf》由会员分享,可在线阅读,更多相关《基于Excel VBA的实训室信息表一键批量生成系统.pdf(5页珍藏版)》请在咨信网上搜索。
1、科技与创新Science and Technology&Innovation1442023 年 第 18 期文章编号:2095-6835(2023)18-0144-05基于 Excel+VBA 的实训室信息表一键批量生成系统朱 江,吴小香,王思璇(江苏农牧科技职业技术学院,江苏 泰州 225300)摘要:学校各实训室门口一般会张贴着一张实训室信息表,该表包含日常上课信息、实训周安排信息及实训室管理员信息,这些信息无论在日常督导的巡课还是突发情况下的险情快速上报等活动中都起着至关重要的作用。但制作该信息表的传统方法是从多张表格不断筛选、复制、粘贴数据,随着办学规模的扩大、实训室的增多,该方法费时
2、费力且生产效率低。分析了实训室信息表的数据组成和利用传统方法制作表格的过程,将传统方法与 Excel+VBA 编程知识相结合,实现了表格的快速创建,数据的快速筛选、复制、粘贴,使原来复杂烦琐的工作在数分钟内得以完成,极大减轻工作量的同时避免了传统制作过程中人为因素造成的错误,同时 Excel 办公软件应用普及范围广的特点使得本系统的可行性进一步提高。关键词:Excel+VBA;实训室信息表;批量生成;功能验证中图分类号:TP311.52文献标志码:ADOI:10.15913/ki.kjycx.2023.18.042随着学校办学规模扩大、实训室增多,采用传统方法制作表格费时费力且生产效率低。运用
3、 VBA 编程代替传统方法可多、快、好、省地完成实训室信息表的制作,该系统必须满足如下几点要求:保证所生成的实训室信息表与现有实训室信息表在内容结构、色彩搭配等方面的整体风格相一致;所有实训室平常上课的课表部分信息来自于学校教务系统导出的实训室平时上课课表,且该信息必须与该实训室完全正确匹配;所有实训室教学实训周的上课信息来自于教务系统导出的教学实训表,同样要求信息与所对应的实训室完全正确匹配;由于批量生成的表格数量比较多,所以,采用传统打印方式一张一张地打印比较费时费力,增加一键打印所有表格的功能,进一步完善系统功能。1系统设计思路使现有表格整体风格与传统表相一致的方法主要有以下 2 种:对
4、现有实训室信息表进行分析,利用VBA 程序来实现表格单元格的合并与拆分、表格字体颜色的设置、表格背景色的设置以及表格边框的设置,使之与传统表格相同。将现有表格中的所有数据清空,得到一个空表。将此空表作为一个模板1,再从该模板表格中不断复制生成所需数目的表格。表格模板如图 1 所示。同样的功能虽然采用第一种方法也能实现,但在程序实现方面需要的工作量更大,而采用第二种方法实现的表格与原有表格完全一致,且易于实现2,优势显而易见,因此选择第二种实现方法。图 1表格模板需要对所复制的众多表格赋予相应的表格名称,通过进一步分析研究教务系统导出的实训室课表内容得出如下信息:所有实训室日常上课信息都在同一张
5、工作表里面;在每张表的上方都会显示“教室”2个字,后面紧接着就是实训室的名称,然后再用短下划线连接实训室地点,接着在括号里面注明该实训室所能够容纳的学生数,例如“教室:软件开发_经 C-307(50)”。并且所有实训室的这个信息都是在工作表的G 列,根据这一信息,可以从 G1 单元格开始一直往下20232024 学年第一学期上午下午晚自习教学实训管理员移动开发实训室12节34节56节78节910节Science and Technology&Innovation科技与创新2023 年 第 18 期145循环遍列查找单元格内容是否有“教室”2 字,找到符合条件的信息从字符串中提取出教室后面的实训
6、室名称,接着再将下方课表区域的信息内容复制到对应名称的实训室信息表的日常课表信息区域即可,如此循环往复便完成全部表格上课信息内容的制作,程序流程如图 2 所示。开始获取工作表总行数 num,设置循环变量 ii=numG 列 i 行是不是以“教室”开头利用字符串函数提取教室名称,将相关信息内容复制到目标表格i=i+1开始NONOYesYes图 2复制上课信息程序流程图如图 2 所示,根据内容分布情况将实训室信息表分为最上部的课表信息区、中间的教学实训安排信息区和最下部的实训室管理员信息区 3 个区域。教学实训安排信息区的内容来自于教务系统导出的教学实训安排表,教学实训安排表包含环节名称、行政班级
7、、人数、安排教师、地点、周次这 6 个字段内容。其中环节名称即实训课程名称,地点为实训室名称,在程序设计上可以设计出相应的变量来存放这些信息3。在实训室管理员信息区域需将实训室名称、该实训室管理员以及管理员的联系方式这些内容写入指定的单元格内。而教务系统里面导出的这些信息里面并没有实训室管理员和管理员的联系号码等信息,因此需要设计出一张工作表用于存放实训室名称、地点、管理员姓名以及管理员联系号码等信息,表结构如表 1所示。在系统开始运行的时候程序会根据该表地点列内容依次从模板工作表复制出信息表的空表,并将空表的表名改成此表中实训室地点名称直至全部实训室对应表格创建完毕。而在创建实训室管理员信息
8、区域内容时,程序只需根据实训室地点到该表里面获取到相对应的实训室管理员姓名以及联系方式,并将这些内容填入相应单元格即可。表 1“实训室对照表”表结构序号字段名备注1实训室名称规范的详细名称2实训室名称 2在信息表中显示的名称3地点实训中具体位置4管理员管理员姓名5联系电话管理员联系号码2系统的实现该系统共涉及的表格有教务系统导出的日常上课课表、教务系统导出的实训安排表、实训室名称对照表以及实训室上课信息表的模板表共 4 张表,且这 4张表来自于 4 个独立的文件。在系统实现过程中分别新建 4 个 Excel 工作簿。第 1 个工作簿用于存放教务系统导出的日常上课信息表,设置名称为“1 上课安排
9、表”;第 2 个工作簿用于存放教务系统导出的教学实训安排表,设置名称为“2 教学实训安排表”;第 3 个工作簿用于存放实训室名称及管理员相关信息的表,设置名称为“3 实训室名称对照表”;第 4 个工作簿则是存放最终生成表格模板的表,并且最终批量生成的信息表也是在这个工作簿里面的,所以给其命名为“4批量生成表”,再附上一个说明性文件 readme.txt,用于记录系统的使用方法、注意事项等内容,如图 3 所示。图 3各工作簿名称2.1批量生成全部实训室信息表空表的实现程序通过遍列“3 实训室名称对照表”中地点列并从模板表 sheet1 复制出一份新的工作表4,再对它进行重命名,从而实现所需功能,
10、运行代码如下:Sub 宏 1()创建全部空表Set Rng=Workbooks(3 实 训 室 名 称 对 照 表).Worksheets(1).Range(e2)While Rng ThisWorkbook.Worksheets(sheet1).Copyafter:=Worksheets(Worksheets.Count)ActiveSheet.Name=Rng开始获取工作表总行数 num,设置循环变量 iinumG 列 i 行是不是以“教室”开头利用字符串函数提取教室名称,将相关信息内容复制到目标表格Yesi=i+1开始YesNoNo科技与创新Science and Technology&
11、Innovation1462023 年 第 18 期Set Rng=Rng.Offset(1,0)WendEnd Sub运行结束后会在“4 批量生成表”中创建若干个以实训室地点命名的实训室信息表的空表。2.2批量生成教学实训周实训安排信息的实现经观察发现从教务系统导出的教学实训安排信息表除包含需要的课程、班级、教师、人数、周别等信息之外中间还夹杂着其他无用信息,因此不能使用直接复制粘贴某个区域的方式快速实现。需设置几个对应的变量,将各相关信息赋值给变量,再根据实训地点变量内容,打开以该地点为名称的实训室工作表,再将课程、班级、教师、人数等信息存放在表格相应单元格中即可,如此循环往复直到教学实训
12、安排表中全部内容复制完毕即可5。这其中需要解决的一个重要难题是每次打开一个需要存放内容的实训室信息表后如何才能找到正确的存放位置,通过观察发现存放实训信息内容的区域在图 1 所示的表格中的 D10:H15 单元格区域。于是就可以通过对 D15 单元格运用End(xlUp)函数向上找到有数据的那一个单元格,这个单元格是上一条数据的课程名称列内容,从这个单元格再向下偏移 1 个单元格即是需要存放下一条实训数据的课程名称内容的位置,具体实现代码如下所示:Sub 宏 2()复制实训内容Set rng1=Workbooks(2 教 学 实 训 安 排 表).Worksheets(教学实训).Range(
13、o2)While rng1 课程、班级、教师、人数、周别kecheng=rng1.Offset(0,-11)banji=rng1.Offset(0,-4)jiaoshi=rng1.Offset(0,-2)renshu=rng1.Offset(0,-3)zhoubie=rng1.Offset(0,1)Setrng2=ThisWorkbook.Worksheets(rng1.Text).Range(d15).End(xlUp).Offset(1,0)rng2.Offset(0,0)=kechengrng2.Offset(0,1)=banjirng2.Offset(0,2)=jiaoshirng2.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于Excel VBA的实训室信息表一键批量生成系统 基于 Excel VBA 实训室 信息 表一键 批量 生成 系统
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【自信****多点】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【自信****多点】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。