利用Excel从总课程表自动生成各班课程表

更新时间:2023-11-30 18:53:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

利用Excel从总课程表自动生成各班课程表

江苏省赣榆县金山中学 尹娟

利用Excel能够自动从总课程表自动生成各班课程表。具体做法如下: 以Excel2003为例。

1、打开Excel,把某工作表(比如sheet1)重命名为“总课程表”,按下列格式进行总课程表编排:课程表名称、课程表执行时间、星期、节次等共占用4行,从第5行开始输入各班课程名称,总列数41列,课程表总行数不限。

学校 年级 ~ 学年度 学期课程表本表自 年 月 日起执行星期一12345678123星期二45678123星期三45678123星期四45678123星期五45678二语文英语数学音乐政治物理(1)张三李四王五吴七钱二赵大二英语语文历史数学生物地理(2)李四张三孙三王五周六李五二英语数学语文体育物理政治(3)蒋三韩五陈一郑八赵大钱二二语文英语数学历史地理生物(4)陈一蒋三韩五孙三李五周六二英语数学语文语文体育美术(5)沈四朱六褚二褚二郑八冯九二数学政治音乐物理英语体育(6)朱六钱二吴七赵大沈四郑八英语语文数学历史地理生物李四张三王五孙三李五周六数学英语语文体育政治物理王五李四张三郑八钱二赵大语文英语数学地理生物历史陈一蒋三韩五李五周六孙三英语数学语文语文体育美术蒋三韩五陈一陈一郑八冯九语文英语数学音乐物理政治褚二沈四朱六吴七赵大钱二数学语文历史生物英语地理朱六褚二孙三周六沈四李五英语数学语文体育物理政治李四王五张三郑八赵大钱二语文英语数学历史地理生物张三李四王五孙三李五周六英语数学语文语文体育美术蒋三韩五陈一陈一郑八冯九语文英语数学政治音乐物理陈一蒋三韩五钱二吴七赵大英语语文数学地理生物历史沈四褚二朱六李五周六孙三语文数学英语物理政治语文褚二朱六沈四赵大钱二褚二语文英语数学地理历史生物张三李四王五李五孙三周六英语数学语文语文体育美术李四王五张三张三郑八冯九数学英语音乐物理政治语文韩五蒋三吴七赵大钱二陈一英语语文数学生物地理历史蒋三陈一韩五周六李五孙三英语数学语文体育物理政治沈四朱六褚二郑八赵大钱二数学英语地理语文生物体育朱六沈四李五褚二周六郑八英语数学语文语文体育美术李四王五张三张三郑八冯九语文英语数学音乐物理政治张三李四王五吴七赵大钱二语文英语数学历史地理生物陈一蒋三韩五孙三李五周六英语数学语文体育政治物理蒋三韩五陈一郑八钱二赵大语文英语数学生物历史地理褚二沈四朱六周六孙三李五数学语文语文英语美术历史朱六褚二褚二沈四冯九孙三2、左键单击工具→宏→Visual Basic编辑器,再左健双击Thisworkbook,把下面的一段程序粘贴到打开的窗口中。

Option Base 1

Sub 建立分班课程表()

Application.ScreenUpdating = False Dim m()

Sheets(\总课程表\

e = Sheets(\总课程表\ReDim m(e - 4, 41) For i = 5 To e For j = 2 To 41

m(i - 4, j - 1) = ActiveSheet.Cells(i, j) Next j Next i

Sheets(\各班课程表\Cells.Clear For k = 1 To e - 4 For j = 0 To 4 For i = 1 To 8

ActiveSheet.Cells(i + 11 * (k - 1) + 3, j + 2) = m(k, i + 8 * j) Next i Next j

1

Next k x = 1

For i = 3 To 11 * (e - 4) Step 11

Cells(i, 2) = \星期一\星期二\星期三\星期四\星期五\

Cells(i + 1, 1) = \第一节\第二节\第三节\第四节\Cells(i + 5, 1) = \第五节\

Cells(i + 6, 1) = \第六节\第七节\第八节\Cells(i, 2).Select

Selection.CurrentRegion.Borders.LineStyle = xlContinuous Range(Cells(i - 2, 1), Cells(i - 2, 6)).Select Selection.Merge

Selection.HorizontalAlignment = xlCenter Cells(i - 2, 1) = x & \班课程表\Selection.Font.Name = \华文新魏\Selection.Font.Size = 36

Range(Cells(i - 1, 1), Cells(i - 1, 6)).Select Selection.Merge

Selection.HorizontalAlignment = xlCenter Cells(i - 1, 1) = \班主任:\Selection.Font.Name = \宋体\Selection.Font.Size = 28 x = x + 1 Next i

Application.ScreenUpdating = True End Sub

3、关闭Visual Basic编辑器窗口,把某工作表(比如sheet2)重命名为“各班课程表”, 左键单击工具→宏→运行宏。

怎么样?各班课程表生成了吧? 如果你还想更方便,请左键单击视图→工具栏→窗体→按钮→Excel的任一空白单元格,这时一个按钮出现了,同时还打开了指定宏对话框,请你点击确定,以后只要你点击这个按钮各班课程表就自动生成了。

使用Excel2007从总课程表生成各班课程表的方法与使用Excel2003从总课程表生成各班课程表的方法基本相同,区别就在于打开Visual Basic编辑器和宏的路径不同。

在Excel2007中,左键单击“开发工具”选项卡,在开发工具功能区的代码组中就可以看到Visual Basic编辑器和宏按钮,在开发工具功能区的控件组中点“插入”就出现了包括按钮在内的各种控件。

如果“开发工具”选项卡未显示在界面上,请左键单击“Office按钮”打开下拉菜单,单击下方的“Excel选项”按钮,打开“Excel选项”对话框,在“常用”类别中的“使用Excel时采用的首选项”下,选中“在功能区显示‘开发工具’选项卡”复选框,单击确定按钮即可。

联系电话:13151770963

联系地址:江苏省赣榆县青口镇镇海路1号锦绣江南小区19号楼101室

2

本文来源:https://www.bwwdw.com/article/rhdt.html

Top