在文档末尾自动落名

办公族

编辑部小王每到月末都要整理手头的稿件,这就经常要与一些作者的姓名打交道,而且姓名中有好多冷僻字,很难输入,她让我帮她想想办法。

问题分析:

小王的手头有份作者列表,每个作者前面都有相应的序号,她希望在实际输入姓名的时候,只要输入前面的序号,然后回车就会出现相应的作者姓名。基于这样的考虑,我们可以利用工作表的CHANGE事件,当指定区域单元格内容发生变化的时候,工作表就会自动调用CHANGE事件,然后执行相应的代码,根据输入的序号得到相应的作者姓名,思路清晰、操作简单,下面就跟我来吧。

解决问题:

打开一个工作簿,然后按 “Alt+F11”组合键切换到VBA代码编辑窗口,在窗口左栏单击相应的工作表名称,然后在右侧的空白处输入以下代码:

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Column = 2 Then

If Target.Value = 1 Then

Target.Value = "李寻欢"

End If

If Target.Value = 2 Then

Target.Value = "小鱼儿"

End If

If Target.Value = 3 Then

Target.Value = "花无缺"

End If

End If

End Sub

代码输入完毕以后,按“Alt+F11”组合键返回到Excel窗口,这时你只要输入相应的作者序号,回车后就被替换成程序中指定的真实作者姓名了,而且,当以后有新的作者出现的时候,只要在程序中依此添加一条语句就行了。

小提示:在代码中有一句“Target.Column = 2”,这是用于限定仅仅在第二列输入这些数字时才会被替换成作者姓名,这样才能保证在其他列输入这些数字时不会受到影响。