ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[原创] 带教师姓名的课程表-将普通课程表里的学科名换为对应的教师名

[复制链接]

TA的精华主题

TA的得分主题

发表于 2010-12-25 18:17 | 显示全部楼层 |阅读模式
终于自己找到一个方法,做教师姓名课程表了!呵呵
对VB也不熟悉,查了好多资料才弄明白。其实也很简单。
EXCEl几个最常用的命令就是Sheet(指定工作表,如sheet1,sheet2),Range(指定单元格范围,如 Range("a1:H23")),Cells(指定单个单元格,如cells(12,7)),对EXCEL编辑程序主要工作之一是EXCEL中各个单元格的数据与程序里的变量之间相互转换。
比如你想对电子表格里的数据做某种处理,基本思路就是:
1、把电子表格数据存储到单个或数组变量中
2、再用一些常用的程序命令对数组做数据逻辑或计算处理
3、最后把结果在放回到EXCEL单元格里就OK。
关于做带教师姓名的课程表,我想明白一个简单方法(已经测试好用):
说明:分工表和课程表格式如下,
      分工表行是班级,列是学科,
      课程表行是班级,列是周一至周五每天课程。就是说这两个表第一列都是班级。
例如分工表:
       数     语       英     . . .   
初1.1 王老师  李老师  付老师
初1.2 张老师  隋老师  赵老师
.
.
例如课程表:
      1  2  3  4  5  6   7  8   1  2  3...  
初1.1 数 语 物 ......  
初1.2 化 信 生 ......
.注意:课程表和分工表的标题先不用加上,即第一行是学科名或课节数,第一例为班级名,课程表和分工表的班级顺序一致。
.      我是把我单位的分工表和课程表分别放在同一个EXCEL文件里,分工表放在Sheet1里,课程表放在Sheet2里,而你需要的教师姓名分工表准备放在 Sheet3里。你先点开 Sheet3,是个 空EXCEL,再按“Alt+F11”进入代码编辑窗口,点击左上方的 “Sheet3”,把下面是代码复制到右侧代码编辑窗口里面:

Sub 教师姓名课程表()
'X为学校班级总数
Const x As Integer = 35
'y为某一个班每周课节总数
Const y As Integer = 40
'z为学科数
Const z As Integer = 15
'定义课程表和分工表的数组变量
Dim kcb(x + 1, y + 1)
Dim fgb(x + 1, z + 1)
'把分工表信息读入数组中
For j = 1 To x + 1
     For k = 1 To z + 1
          fgb(j, k) = Sheet1.Cells(j, k)
     Next k
Next j
'把课程表信息读入数组中
For i = 1 To x + 1
  For j = 1 To y + 1
             kcb(i, j) = Sheet2.Cells(i, j)
   Next j
Next i
'做个简单逻辑判断,确定某班某天某节课对应的教师姓名,并生成教师姓名课程表到sheet3
For i = 2 To x + 1
    For j = 2 To y + 1
         For k = 2 To z + 1
                 If kcb(i, j) = fgb(1, k) Then Sheet3.Cells(i, j) = fgb(i, k)
         Next k
   Next j
  Next i
End Sub

[ 本帖最后由 acldzx 于 2010-12-25 19:23 编辑 ]

分工-课程-姓名表.rar

12.05 KB, 下载次数: 672

TA的精华主题

TA的得分主题

发表于 2010-12-25 18:40 | 显示全部楼层
不明白你到底要说明什么问题?如果是一家成功拿来共享的话,请把附件上传,大家也好相互“切磋切磋”。

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-12-25 19:07 | 显示全部楼层
一般学校老师都会明白咋回事,好吧 带个附件。在学校里现在教学分工表和课程表都是分开的两个表,单位里经常找人,不好知道他到底在哪里上课,通常得先看课程表,再看分工表才能确认一个老师在哪里上课呢,如果能够做个教师姓名课程表,就方便多了。一看就知道谁在哪个班上课。
附件里是个例子。其中Sheet3就是用上面的代码自动生成的。

[ 本帖最后由 acldzx 于 2010-12-25 19:22 编辑 ]

TA的精华主题

TA的得分主题

发表于 2010-12-25 20:13 | 显示全部楼层
建议:如果有 教学分工表和课程表 最后做个“查询表”,根据日期时间、姓名就可以查到老师在什么地方。

TA的精华主题

TA的得分主题

发表于 2010-12-25 23:51 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2010-12-26 00:22 | 显示全部楼层
参看帖子:
教育应用贴:(有成绩统计、分班、考场混排、课表编排等研究过程和结论)20101225更新
http://club.excelhome.net/viewth ... p;extra=&page=1
中的有关课程表的楼层。

TA的精华主题

TA的得分主题

发表于 2011-1-7 20:51 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
我正在学习中,如果增加到37个班就查教师的表,出错了,

TA的精华主题

TA的得分主题

 楼主| 发表于 2011-12-23 21:44 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
时隔一年才回来看看。。。。唉。“逝者如斯夫”

TA的精华主题

TA的得分主题

发表于 2016-4-24 05:31 | 显示全部楼层
楼主太厉害了,感谢分享!

TA的精华主题

TA的得分主题

发表于 2022-10-10 16:53 | 显示全部楼层
lhx120824 发表于 2010-12-26 00:22
参看帖子:
教育应用贴:(有成绩统计、分班、考场混排、课表编排等研究过程和结论)20101225更新
http: ...

你这个有最新的文件吗?我怎么找了很久没看到。
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-5-2 21:20 , Processed in 0.037600 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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