电脑技术学习

Excel:妙用自定义函数 让班级名称自动化

dn001
;

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

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

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

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


图1编辑器

  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列下面的单元格区域中,班级名称即可自动填入相应的单元格中(参见图2)。


图2学生登记表