只是一些vba最基本的介绍,很多函数,过程的具体使用参考vba函数速查手册http://officebbs.com.cn/function/main.htm
一 标识符
一.定义
标识符是一种标识变量、常量、过程、函数、类等语言构成单位的符号,利用它可以完成对变量、常量、过程、函数、类等的引用。
二.命名规则
1) 字母打头,由字母、数字和下划线组成,如 A987b_23Abc
2) 字符长度小于40
3) 不能与VB保留字重名,如public, private, dim, goto, next, with, integer, single等
二 运算符
定义:运算符是代表VB某种运算功能的符号。
1)赋值运算符 =
2)数学运算符 &、+ (字符连接符)、+(加)、-(减)、Mod(取余)、\(整除)、*(乘)、/(除)、-(负号)、^(指数)
3)逻辑运算符Not(非)、And(与)、Or(或)、Xor(异或)、Eqv(相等)、Imp(隐含)
4)关系运算符 = (相同)、<>(不等)、>(大于)、<(小于)、>=(不小于)、<=(不大于)、Like、Is
5)位运算符(暂时可不看位运算) Not(逻辑非)、And(逻辑与)、Or(逻辑或)、Xor(逻辑异或)、Eqv(逻辑等)、Imp(隐含)
三 数据类型
VBA共有12种数据类型,具体见下表,此外用户还可以根据以下类型用Type自定义数据类型。
数据类型
|
类型标识符
|
字节
|
字符串型 String
|
$
|
字符长度(0-65400)
|
字节型 Byte
|
无
|
1
|
布尔型 Boolean
|
无
|
2
|
整数型 Integer
|
%
|
2
|
长整数型 Long
|
&
|
4
|
单精度型 Single
|
!
|
4
|
双精度型 Double
|
#
|
8
|
日期型 Date
|
无
|
8 公元100/1/1-9999/12/31
|
货币型 Currency
|
@
|
8
|
小数点型 Decimal
|
无
|
14
|
变体型 Variant
|
无
|
以上任意类型,可变
|
对象型 Object
|
无
|
4
|
四 变量与常量
1)VBA允许使用未定义的变量,默认是变体变量。
2)在模块通用说明部份,加入 Option Explicit 语句可以强迫用户进行变量定义。
3)变量定义语句及变量作用域
Dim 变量 as 类型 '定义为局部变量,如 Dim xyz as integer
Private 变量 as 类型 '定义为私有变量,如 Private xyz as byte
Public 变量 as 类型 '定义为公有变量,如 Public xyz as single
Global 变量 as 类型 '定义为全局变量,如 Globlal xyz as date
Static 变量 as 类型 '定义为静态变量,如 Static xyz as double
一般变量作用域的原则是,那部份定义就在那部份起作用,模块中定义则在该模块那作用。
4)常量为变量的一种特例,用Const定义,且定义时赋值,程序中不能改变值,作用域也如同变量作用域。如下定义:Const Pi=3.1415926 as single
五 数组
数组是包含相同数据类型的一组变量的集合,对数组中的单个变量引用通过数组索引下标进行。在内存中表现为一个连续的内存块,必须用Global或Dim语句来定义。定义规则如下:
Dim 数组名([lower to ]upper [, [lower to ]upper, ….]) as type ;Lower缺省值为0。二维数组是按行列排列,
如Dim X(9) as String 声明了一个10个元素的数组,X(0)~X(9),如果没有指定lower,则默认lower=0。
再例如Dim MyArray(10, 10) As Integer,是个11*11整数数组
除了以上固定数组外,VBA还有一种功能强大的动态数组,定义时无大小维数声明;在程序中再利用Redim语句来重新改变数组大小,原来数组内容可以通过加preserve关键字来保留。如下例:
Dim array1() as double : Redim array1(5) : array1(3)=250 : Redim preserve array1(5,10)
六 注释和赋值语句
1)注释语句是用来说明程序中某些语句的功能和作用,注释语句不会被执行;VBA中有两种方法标识为注释语句。
ü 单引号 ’ ;如:’定义全局变量;可以位于别的语句之尾,也可单独一行
ü Rem ;如:Rem定义全局变量;只能单独一行
2)赋值语句是进行对变量或对象属性赋值的语句,采用赋值号 =,如X=123:Form1.caption=”我的窗口”
对对象的赋值采用:set myobject=object 或 myobject:=object
七 书写规范
1)VBA不区分标识符的字母大小写,一律认为是小写字母;
2)最好以行只写一条语句。一行可以书写多条语句,各语句之间以冒号 : 分开;
3)一条语句可以多行书写,以空格加下划线 _ 来标识下行为续行;
4)标识符最好能简洁明了,不造成歧义。
八 判断语句
1)If…Then…Else语句
If condition Then [statements][Else elsestatements]
condition 是个判断条件,当condition为真True,就执行Then后面的statements那些语句,如果为假False,执行elsestatements语句
如1:If A>B And C<D Then A=B+2 Else A=C+2
如2:If x>250 Then x=x-100
或者,可以使用块形式的语法,即If…Then…Else语句 可以嵌套:
If condition Then
[statements]
[ElseIf condition-n Then
[elseifstatements] ...
[Else
[elsestatements]]
End If
如1:
If Number < 10 Then
Digits = 1
ElseIf Number < 100 Then
Digits = 2
Else
Digits = 3
End If
2)Select Case…Case…End Case语句
如1:Pid的取值来决定执行不同的语句
Select Case Pid
Case “A101”
Price=200 ‘当Pid的实际值是“A101”,就执行Price=200.后面的以此类推
Case “A102”
Price=300
……
Case Else
Price=900
End Case
九 循环语句
1)For Next语句 以指定次数来重复执行一组语句
For counter = start To end [Step step] ' step 缺省值为1
[statements]
[Exit For]
[statements]
Next [counter]
如1:for语句也可以嵌套,如下,两重for循环
For Words = 10 To 1 Step -1 ' 建立 10 次循环
For Chars = 0 To 9 ' 建立 10 次循环
MyString = MyString & Chars ' 将数字添加到字符串中
Next Chars ' Increment counter
MyString = MyString & " " ' 添加一个空格
Next Words
2)For Each…Next语句 主要功能是对一个数组或集合对象进行,让所有元素重复执行一次语句
其作用就是遍历一遍数组或集合对象中的所有元素
For Each element In group ‘group 必要参数。对象集合或数组的名称(用户定义类型的数组除外)。
Statements
[Exit for]
Statements
Next [element]
如1:
For Each rang2 In range1
With range2.interior
.colorindex=6
.pattern=xlSolid
End with
Next
VBA基础 02
分享到:
相关推荐
模块与VBA编程基础01PPT教案学习.pptx
对于初学VBA的同学很有帮助,都是针对excel开发的基本讲解。
非常不错的VBA学习资料,里面介绍了VBA的基础知识,使用技巧,分功能介绍,可以作为日常查看字典,很多功能实现,有完整代码。
需要同时下载part01、part02、part03后解压
Chapter 01 Excel 2007 VBA新功能与基础知识 1-1 Excel 2007 VBA的新功能 1-2 Excel VBA概述 1-3 VBA的构成要素 1-4 Visual Basi 汇编辑器 1-5 工程资源管理器的操作 1-6 调试 1-7 ...
VBA和execl编程基础,包含列表控件的应用,读表格,写表格等一些基本的知识啦,半成品,希望对像我一样的初手有用,界面看我的博客http://blog.csdn.net/lg836/archive/2009/01/03/3691294.aspx
需要下载part01、part02、part03后一起解压
需要同时下载part01、part02、part03后解压
《ExcelVBA程序开发自学宝典(第2版)》是VBA入门的经典教材,对VBA的基础理论、语法规则、代码优化、编写思路、开发函数与使用数组等都进行了详尽的理论阐述和案例演示,同时还搭配窗体与控件、正则表达式、字典、...
上课内容 主要内容: 数据库理论知识 数据库系统概述、数据模型、关系模型、数据库设计 关系数据库标准语言SQL ACCESS数据库对象及操作 数据库、表、查询、窗体、报表、宏、模块 VBA编程基础 小型应用系统开发 教材...
目录 第01章 数据库基础知识 第02章 初识Access 2007 第03章 数据库的创建与维护 第04章 创建与使用表 第05章 表的高级操作 第06章 选择查询 第07章 操 作查询和SQL查询 第08章 创建窗体 第09章 使用控件与修饰...
vb群发消息软件源码,本程序是用vb6在clswindow2.1基础上开发的,是对微信客户端进行自动化处理的,完全模拟手工操作,稳定且绝度安全,不会被封。懂代码的可以稍微修改变成定时群发,批量指定目标人群群发。绝对物...
共7章课程,内容包括:Access数据库基础知识、Access数据库建立和使用表、Access数据库的增删改查、Access数据库的窗体设计、Access报表知识相关、Access数据库宏的知识相关、Access数据库VBA知识相关、欢迎有需要的...
第01章 VBScript概述.PPT 第02章 VBScript语法基础.ppt 第03章 VBScript子过程和函数.ppt 第04章 VBScript浏览器对象.ppt 第05章 VBScript语句.ppt 第06章 VBScript重要函数分析.ppt 第07章 ASP概述.ppt 第08章 ASP...
中文名: 完全掌握Project 2007 作者: 贺建英 资源格式: PDF 版本: 扫描版 ...第20章 VBA程序设计基础 第21章 用VBA操作Project对象 第22章 用户窗体 第23章 自定义Project 第24章 项目管理应用实例 -
[My_Practice] 杂项小工程我的Python实践-东西Map.py(2021.02.16) WordsMix.py(2021.01.13) Count_Words.py(2020.11.10) Operator_Precedence_Test.py(2020.06.28) Print.py(2020.03.31) Suffle_List.py...
Axx:ARJ压缩文件的分包序号文件,用于将一个大文件压至几个小的压缩包中(xx取01-99的数字) A3L:Authorware 3.x库文件 A4L:Authorware 4.x库文件 A5L:Authorware 5.x库文件 A3M,A4M:Authorware Macintosh...