VBA入门--变量的基础内容和知识点

来源:互联网 发布:两期二叉树模型 知乎 编辑:程序博客网 时间:2024/06/05 07:03

Excel的代码主要是针对Excel的各个对象进行操作的,因此最基础的就是VBA的基本语法,基本语法主要包含:VBA的变量、常用运算和循环或分支结构。我理解的这三部分是最主要的。

所谓变量,顾名思义就是可以变化的量,变量在VBA中是程序为存放某个临时的值而开辟的内存空间,可以指定一个变量名来命名该内存空间,通过变量名,可以重复访问该内存空间,用以存放数据或者读取数据。

 

¤变量声明¤

在VBA程序中,变量是必不可少的一个元素。变量在使用前应先声明,以说明变量名和变量类型,变量声明的一般语法如下:

Dim varname [Astype]

 

¤变量名的命名规则¤

参数varname为变量名。变量名由数字、字母、字符、中文组成,遵循以下规则:

第一个字符必须使用英文字母或中文;

不能在名称中使用空格、句点、感叹号或@、&、$、#等字符;

名称的长度不可以超过255个字符;

变量名不能与VisualBasic本身的过程、语句以及方法的名称相同;

不能再相同范围、相同层次中使用重复的名称;

 

¤VBA的数据类型¤

VBA数据类型非常多,但实质上可以分为以下五大类:

数值型:数值型的数据即为数字,包括byte、integer、long、single、double等;

字符型:字符型的数据类型为string,可以存放任何文本。文本数据在VBA代码中表示时必须包含在一对半角的双引号内;

日期型:日期型数据为date,可以是任何日期和时间。VBA中的日期范围为100年1月1日到9999年12月31日。在VBA代码中表示日期型数据必须包含在井字号(#)内,比如:#2013-1-1#、#12::00#、#2017-03-0114:00#

逻辑型:逻辑型的数据为boolean,其值为TRUE或者FALSE。在VBA中TRUE的值可以用数字-1替代,FALSE的值用0替代。

对象:对象是一种特殊的数据类型,可以表示工作簿、工作表、单元格等,如:range(“A2”)


 

¤变量的赋值¤

变量赋值的语法为

[Let] varname =expression

Set varname =expression

参数varname为变量名,expression为所要给变量赋的值。

Let语句是用以给除对象以外的变量进行赋值的,Let关键字可以省略;在给对象变量赋值时,必须使用set关键字,比如:Set rngA = Range(“A1”);

变量可以重复赋值,变量的值是变量最后一次赋值语句所赋的值。

 

¤VBA常量¤

在VBA中,除了声明变量外,还有常量。常量和变量的使用方法基本相同,但是常量声明之时必须进行赋值,并且只能赋值一次,而且不能将变量的值赋给常量。

声明常量的语法:

Const constname [As type ] = expression

 

¤定长字符串¤

String类型的变量可以分为定长和变长两种,一般情况下String类型的变量都是变长,根据赋值进行变化,定长字符串只需要在变量类型String之后加上星号和定长字符串的长度即可,比如:

Dim strA as string* 10

 

¤变量检查语句¤

Option Explicit 语句,强制用户显式声明各个变量,声明注意点:

Option Explicit必须写在模块开头,所有过程之前(所有sub之前);

Option Explicit的作用域是本模块,如果要限制多个模块,每个模块都需要写入;

Option Explicit可以通过在工具栏的选项卡中进行勾选设置。

 

变量检查语句语法,还有一个方式就是调试:编译VBAproject,学过C语言的应该知道什么是编译。

 

¤变量作用域¤

作用域也就是使用范围,跟其他语言一模一样,差别不大,知识点如下:

分为三个等级,所有模块、模块内和过程;

全局变量的范围是所有模块,声明方式为:Public varname as type;

模块内变量的作用范围为单个模块,直接在所有过程之前声明:Dim varname as type

局部变量,仅限于过程内:Dim varname as type;

 

在同一作用域中,不能出现同名的变量,但是在不同的作用域中,可以出现不同的变量。

1 0
原创粉丝点击