EXCEL VBA
作者:Julitta Korol 翻译:Tiger Chen Jan 16’ 2005
在第二章中,你知道了过程是一组指令,它让你在程序运行的时候完成一些具体的任务。VBA有以下三种过程:
n 子程序过程(子程序)执行一些有用的任务但是不返回任何值。它们以关键字Sub开头和关键字End Sub结束。子程序可以用宏录制器(第一章)录制或者在VB编辑器窗口里直接编写(见第二章和第三章)。在你第一章里已经学习了多种运行这种过程的方法。
n 函数过程(函数)执行具体任务并返回值。它们以关键字Function开头和关键字End Function结束。在本章中,你将创建你的第一个函数过程。函数过程可以从子程序里执行,也可以从工作表里访问,就像Excel的内置函数一样。
n 属性过程用于自定义对象。使用属性过程你可以设置和获取对象属性的值,或者设置对另外一个对象的引用。你将在第十一章中学习如何创建自定义对象和使用属性过程。
在本章中,你将学习如何创建和执行自定义函数,另外,你将发现变量(见第三章)如何用于传递数据给子程序和函数。在本章后面,你将对VBA中两种最有用的函数:MsgBox和InputBox进行比较彻底的了解。
关于函数过程
使用Excel几百种内置函数,你可以进行非常宽广的自动计算,然而,你总有要做个自定义计算的时候。使用VBA编程,你可以通过创建函数过程快速的完成这个特殊需求,你可以创建任何Excel没有提供的函数。
创建函数过程
象Excel函数一样,函数过程进行计算并返回数值。学习函数的最好方法就是自己创建一个。因此,我们开始吧。设置完一个新的VBA工程后,你将创建一个函数过程来加和两个数值。
1. 打开一个新Excel工作簿,
2. 切换到VB编辑器窗口并且选择VBAProject()
3. 在属性窗口,将VBAProject改为MyFunctions
4. 在工程浏览器窗口选择MyFunctions(),然后选择“插入”-“模块”
5. 在属性窗口将“模块1”改为Sample1
6. 在工程浏览器窗口,点击Sample1并选择“插入”-“过程”(译者:需要激活右边的代码窗口)。添加过程对话框如图4-1所示
图4-1 你使用添加过程对话框时,VB自动创建你选择的过程类型
7. 在对话框里输入下列设置:
名称:SumItUp
类型:函数
范围:公共的
8. 点击确定退出添加过程对话框。VB输入了一个空函数过程如下:
Public Function SumItUp()
End Function
第一句声明函数过程名称,关键字Public表面这个函数可以在所有模块的所有过程里访问。关键字Public是可选的。注意,关键字Function后面是函数名称(SumItUp)和一对空括号。在括号里你可以列上计算中需要的数据项目。每个函数过程都以End Function语句结束。
技巧4-1 关于函数名称
函数名称应该点明该函数的作用,并且必须和变量的命名规则一致。
技巧4-2 设置VBA过程范围
在前几章你学习了变量的范围决定它可以在哪些模块和过程里使用,和变量一样,VBA过程也有范围。过程的范围决定其它模块里的过程是否可以调用该过程。所以的VBA过程默认为公共的,这意味着它可以被任何模块里的其它过程调用。因为过程默认为公共的,所以如果你愿意你可以忽略关键字Public。但是,如果你将Public关键字换成关键字Private,那么你的过程只能被同一模块里的其它过程调用,而不能被其它模块里的过程调用。
9. 将函数声明修改为这样:
Public Function SumItUp(m,n)
End Function
这个函数的目的是加和两个数值。不要将实际值输给函数。给该函数提供两个自变量以确保该函数具有灵活性。这样,你的自定义函数就能够将你提供的任何两个数值加和起来了。每个变量代表一个数值,你在运行该函数时要给每个变量提供数值。
技巧4-3 使用函数的理由
自定义VBA函数可以用于:
n 分析数据和进行计算
n 修正数据和汇报信息
n 基于提供的或计算的数据采取具体行动
10. 在Public Function和End Function
EXCEL VBA 来自淘豆网m.daumloan.com转载请标明出处.