电脑技术学习

班级名称自动化——Excel自定义函数的妙用

dn001

  大家知道,我们在编辑Excel工作表时,除了可以用其内置的函数处理表中的数据外,还可以根据自己的实际需要,自定义函数来处理表中的数据。

  如图1所示是一个学生基本情况登记表,学号的编制原则是:前4位是年份,第5位是初、高中代码(1是初中,2是高中),第6位是年级代码(1分别代表初、高一等),第7、8位是班级代码,后面是序号。下面,我们以一个具体的实例,自定义一个函数,根据学号来自动填写班级名称(即图中的D列内容)。

  

1. 启动Excel 2003(其它版本请仿照操作),打开相应的工作表。

2. 执行“工具→宏→Visual Basic编辑器”命令(或者直接按“Alt+F11”组合键),进入Visual Basic编辑状态(如图2)。


图2 编辑器

3. 执行“插入→模块”命令,插入一个新模块。再双击插入的模块,进入模块代码编辑状态。

4. 将下列代码输入其中:

Function bj(xh)

Select Case Mid(xh, 5, 1)

Case 1

bj = "初" && Mid(xh, 6, 3) && "班"

Case 2

bj = "高" && Mid(xh, 6, 3) && "班"

End Select

End Function

[友情提醒]

①上述代码中,“bj”是函数命令,“xh”是变量名称,二者均可以随意修改。

②自定义函数结构是(如果有多个变量,请用英文状态下的逗号分隔):

Function 函数名称(变量名称)

代码

End Function

③使用下面的代码,可以达到同样的效果:

Function bj(xh)

If Mid(xh, 5, 1) = 1 Then

bj = "初" && Mid(xh, 6, 3) && "班"

Else

bj = "高" && Mid(xh, 6, 3) && "班"

End If

End Function

5. 代码输入完成后,关闭Visual Basic编辑窗口,返回Excel编辑状态。

6. 选中D2单元格,输入公式:=BJ(A2),再用“填充柄”将上述公式复制到D列下面的单元格区域中,班级名称即可自动填入相应的单元格中(参见图1)。


图1 学生登记表