|
用Excel VBA轻松编制座位表
座位表的编制,是班主任在学年初必须要做的工作,传统的做法是先在草稿纸上编好学生的座位之后,再按照草稿的格式在电脑中输入学生姓名,最后制表。这种做法很麻烦,每编排一次,都需要重复同样的工作。下面介绍使用Excel的VBA编制一个学生座位表编排系统,能使您一劳永逸。
基本思路
1、录入本班的学生姓名,作为原始数据。
2、在Excel中直接利用鼠标拖动单元格数据的功能,编好学生的位置,然后使用VBA自动制好座位表格。
3、将文件保存为模板。
制作过程
下面以一个班40个学生为例制作一个座位表编排系统。
1、界面设置
将学生分为4个组,每组10人,选定A1∶H5,并设置其外边框作为座位表的范围。在D7∶E9画一个梯形,并在梯形上输入“讲台”二字。在框线外部的区域例如G7∶K14内输入本班学生的姓名。
2、座位编排过程
根据学生的身高、视力等实际情况,使用鼠标拖动单元格数据的功能,将学生的姓名移动到A1∶H5的范围内,编好座位(所谓鼠标拖动单元格数据的功能,实际就是将鼠标指针移到要移动的单元格的边框位置,当鼠标指针变成箭头时,按住鼠标左键不放,直接移到目的地后再释放鼠标左键)。
3、VBA编程
(1)代码编制
点击Excel的Visual Basic编辑器,进入VBA开发环境,在工程资源管理器中双击Sheet1,然后在出现的代码窗口输入如下代码:
Sub zwb()
Application.ScreenUpdating = False
’关闭执行程序时发生的屏幕更新现象,加快运行速度。
With [A1:B5]
.Borders(xlEdgeLeft).LineStyle = xlDouble
.Borders(xlEdgeTop).LineStyle = xlDouble
.Borders(xlEdgeBottom).LineStyle = xlDouble
.Borders(xlEdgeRight).LineStyle = xlDouble
.Borders(xlInsideVertical).LineStyle = xlDot
.Borders(xlInsideHorizontal).Line-
Style = xlContinuous
End With
’设置[A1:B5]的边框格式
[A1∶B5].Copy
[C1].PasteSpecial Paste:=xlFormats
[E1].PasteSpecial Paste:=xlFormats
[g1].PasteSpecial Paste:=xlFormats
’将[A1∶B5]的边框格式选择性粘贴到C1、E1、G1
With [A1:H5]
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.Orientation = xlVertical
.RowHeight = 125
.ColumnWidth = 9
.Fon.FontStyle = "加粗"
.Fon.Size = 25
End With
’设置A1∶H5的单元格格式
For i = 1 To 5
For a = 1 To 8
If Len(Cells(i, a)) = 2 Then
Cells(i, a) = Left(Cells(i, a), 1) && Space(1) && Right(Cells(i, a), 1)
End If
Next
Next
’如果单元格内有两个字符,就在两字符之间加入一个空格
Application.ScreenUpdating = True
End Sub
(2)按钮控件的制作
在“视图→工具栏→窗体”上选取按钮控件,将控件放在I3位置,最后在指定宏对话框中选择Sheet1.zwb,点击[确定],再将按钮控件命名为“OK”。
4、模板的制作
用鼠标点击“文件→另存为”,在出现的另存为对话框的保存类型下拉列表框中选择模板,接着输入模板的名称“zwb”,最后点击[保存]按钮。
使用方法
每次想编排座位表的时候,就打开模板“zwb”,用快速移动单元格的方法编好学生的座位位置,最后点击[OK]按钮,一张美观、大方的座位表就会出现在你的面前了。
作者:不详 |
|