预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共85页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

VBA编程入门目录VBA是什么?VBA有什么作用怎么才能学好VBA进入VBA编程环境VBA窗口的组成VBA窗口由工具栏、工程资源管理器窗口、属性窗口、代码窗口和立即窗口组成。新建模块进行VBA编程进入VBA编程环境(Excel2007)工程窗口-选择对象标准工具条新建模块V-2-1常量、变量常量在程序运行过程中,其值不会被改变的量称为常量。在VBA中有三类常量:直接常量如:10,20%,123.0,“AB”,“VBA程序设计”等符号常量系统常量指VBA系统预先定义好的,用户可以直接引用的量。如:acForm,acQuery,vbOk,vbRed变量是内存中的临时单元,存放在程序执行过程中产生的中间结果和最后输出结果。在程序中使用变量,就要给变量定义名称及类型,即对变量进行声明。变量命名规则变量名必须以字母或汉字开头,后可跟字母、汉字、数字或下划线组成(不能含有小数点和空格),长度不超过255个字符的字符串;不能使用VBA中的关键字;VBA中不区分变量名的大小写;变量名的最后一个字符可以是%、&、!、#、$等表示数据类型的声明符。V-2-2数据类型与变量的声明VBA的数据类型变量声明用Dim|Static语句显式声明局部变量格式:Dim变量名[AS类型]或Dim变量名类型符语句中的“As类型”子句是可选的。如果使用该子句,就可以定义变量的数据类型。未使用,默认变量的类型为变体型(Variant)。例如:DimiAsinteger,s表示声明了一个名为i的整型变量和一个名为s的变体型变量。关键字Dim或Static的区别:Dim声明:随过程的调用而分配存贮单元,每次调用都对变量初始化;过程体结束,变量的内容自动消失,存储单元释放。Static声明:Static声明的变量,也称为静态变量。静态变量在程序运行过程中一直保留其值,即每次调用过程,变量保持原来的值。隐式声明变量未进行上述的声明而直接使用变量,称变量的隐式声明。采用隐式声明的变量都是变体型(Variant)。注意:VBA中允许不事先声明而直接使用变量,可以通过语句OptionExplicit,来要求所使用的变量必须事先声明,否则VBA会发出警告信息。下面是一个简单的程序,其使用的变量a,b,Sum都没有事先定义。PrivateSubForm_Click()Sum=0a=10b=20Sum=a+bPrint"Sum=";SumEndSub声明而未赋值的变量的值为:数值型变量初始化为0;字符型变量为零长度字符串;变体型变量初始化为Empty。V-2-3运算符和表达式例如:"123"+"456"结果"123456""123"&"456"结果"123456"使用上&与+的区别:例如:"abcdef"&12345结果为"abcdef12345""123"&456结果为"123456""abcdef"+12345结果为出错"123"+456结果为579将两个操作数进行大小比较,结果为逻辑值。注意:字符串比较,则按字符的ASCII码值从左到右一一比较,直到出现不同的字符为止。将操作数进行逻辑运算,结果是逻辑值组成由变量、常量、函数等运算对象加上运算符、圆括号组成的式子。书写规则(1)运算符不能相邻。例a+-b是错误的。(2)乘号不能省略。例x乘以y应写成:x*y。(3)括号必须成对出现,均使用圆括号。(4)表达式从左到右在同一基准上书写,无高低。运算优先级算术运算符>连接运算符>关系运算符>逻辑运算例1:用人单位招聘秘书:年龄小于40岁的女性,学历专科或本科,年龄<40,性别=“女”,(学历=“专科”,学历=“本科”)AndAndOr函数实际上是系统事先定义好的内部程序,用来完成特定的功能。VBA提供了大量的内部函数,供用户在编程时使用。函数的调用形式为:函数名(参数表)InputBox函数InputBox(提示[,标题][,缺省])其中:提示:提示信息;标题:对话框标题;缺省:输入区缺省值。注意:函数的返回值为字符型数据。使用MsgBox,可以在对话框中显示文本信息。格式为:MsgBox(提示信息[,按钮数目和类型][,标题])V-3VBA常用语句赋值语句:给变量、常量或对象的属性指定一个值或表达式。声明语句:命名和定义常量、变量、数组以及过程。结构化程序设计由顺序、分支、循环这3种基本结构所组成。单行If语句格式:If表达式Then语句1[Else语句2]功能:If测试指定的条件,如果条件表达式为真(True),则执行Then后面的语句1,否则执行语句2(若Else子句未省略)。PrivateSubp1()DimxAsInteger,yAsIntegerx=InputBox("请输入x值")Ifx>=0Theny=2*x+1MsgBox"y:"&yEndSub多行If语句格式:If表