会员登录 - 用户注册 - 网站地图 Office中国(office-cn.net),专业Office论坛
当前位置:主页 > 技巧 > Excel技巧 > 操作 > 正文

用Excel VBA轻松编制座位表

时间:2005-03-06 11:59 来源:未知 作者:未知 阅读:
 座位表的编制,是班主任在学年初必须要做的工作,传统的做法是先在草稿纸上编好学生的座位之后,再按照草稿的格式在电脑中输入学生姓名,最后制表。这种做法很麻烦,每编排一次,都需要重复同样的工作。下面介绍使用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]按钮,一张美观、大方的座位表就会出现在你的面前了。

(责任编辑:admin)

顶一下
(0)
0%
踩一下
(0)
0%
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价: