搜档网
当前位置:搜档网 › VBA语法 变量

VBA语法 变量

VBA语法

2-1 变量

变量是属性的值或计算结果,变量存于内存中,并且依附VBA程序运行,值是可以改变的量。

2-1-1visual Basic 变量命名规则

自定义变量名称时有一定的规则:

(1)第一个字符必须使用英文字母。

(2)不能在名称中使用空白,句号,感叹号或@#$&等字符。

(3)名称的长度不可以超过255个字符。

(4)通常,使用的名称不能与Visual Basic 本身的函数、表达式及方法得名称相同。也不能与程序语言的关键字相同。若使

用内置函数、表达式或方法与所指定的名称冲突,则必须想

法把它们区分出来。

(5)不能在相同层次范围中使用重复的名称。

(6)Visual Basic 不区分大小写,但它会保留在表达式申明时所用的大小写字母。

2-1-2变量的赋值

给变量赋值其实就是将指定的数值、字符串、表达式等通过赋值符号“=”赋给指定的变量名。给变量赋值的格式:

变量名= 表达式

例如:使用“=”运算符将指定的信息赋值给相应的变量

Legalperson = “华锋”

Comyears = 6

将变量写入指定单元格

Cells(2,1) = legalperson

Cells(3,5) = comyears

2-1-3使用MsgBox函数

函数作用:弹出消息显示对话框,方便用户查看变量的值。

例如:将指定单元格赋值给变量

Compname1= cells(5,8)

Compname2= cells(2,5)

msgBox“第一个客户公司的名称为:”&compname1&Chr(10)&“第二个客户公司的名称为:”&compname2

2-1-4使用Dim语句声明变量

Dim语句主要用于声明变量并分配储存空间。其主要目的是告知用户该变量为自定义变量,声明后程序会自动记录该变量的类型等信息。要注意的是如果程序中的变量没有用Dim语句来声明变量,则被称为隐式声明,这些变量会被自动分配一个数据类型Variant,它们可以保存数字、字符串和其他信息类型。

Dim语句的语法格式:

Dim[WithEvents] varname[([subscripts])] [As [New] type] [WithEvents] varname[([subscripts])] [As [New] type]……

参数说明:

WithEvents:可选参数,说明vaname参数是一个用来响应由ActiveX对象触发的事件的对象变量。只有在类模块中才是合法的。使用WithEvents,可以声明任意多个所需的单变量,但不能使用它创建数组。New和WithEvents不能一起使用。

Varname:必选参数,是指定变量的名称需要遵守标准的变量命

名约定。

Subscripts:可选参数,表示数组变量的维数,最多可定义60维的多维数组。Subscripts参数的使用语法为[Lower To]upper[,[lower To] Upper]…,如果不显示指定Lower,则数组的下界由Option Base 语句控制。如果没有使用Option Base 语句,则下界为0。

New,可选参数,可隐式地创建对象的关键字。如果使用New来声明对象变量,则在第一次引用该变量时将新建该对象的实例。因此不必使用set语句来给对象引用赋值。New关键字不能声明任何内部数据类型的变量,以及重属对象的实例,也不能与WithEvents一起使用。

Type :可选参数,表示变量数据类型。变量的类型可以是Byte,long,currency,single,double,date,shting,object,variant等数据类型。所声明的每个变量都有一个单独的As Type子句。

例子:

Dim compname As String 声明变量compname为字符串类型。

Dim StartDate As Date 声明变量StartDate为日期型。

2-1-5使用Public语句声明公用变量

函数作用:可以在多个模块或程序过程中调用同一个变量。

语法格式:和Dim函数的语法格式相同。

Public语句声明的变量在所有程序的所有没有使用Option Private Module 模块的任何过程中都可以使用,若该模块使用了Option Private Module,则该变量只是在其所属工程中公用。

2-1-6使用Private语句声明私有变量

函数作用:有时用户需要让声明的变量在声明的模块或下级子过程中使用,这时就可以使用Private语句将其定义为私有变量。

语法格式;和Dim函数的语法格式相同。

2-1-7变量类型的使用范围和有效期限

表2-1

表2-2

2-1-8对象变量的定义与赋值

对象类型变量是应用程序通过自动化显露的对象的类型。如:

Application,File,Range和Sheet.使用对象浏览器或引用应用程

序的文档可得到这些对象的列表。

在为对象类型变量赋值时需要使用Set语句来实现,Set语句的

功能是将对象引用赋值给指定的变量或属性。其语法格式为:Set objectvar = {[New] objectexpression | Nothing}

参数说明:

Objectvar : 必选参数,是指变量或属性的名称。

New:可选参数,通常在声明时使用New,以便可以隐式创建对象。如果New与Set一起使用,则将创建该类的一个新实例。如果objectvar 包含了一个对象引用,则在赋新值是释放该引用。不能使用New关键字来创建任何内部数据类型的新实例,也不能创建从属对象。Objectexpression:必选参数,由对象名、所声明的相同对象类型的其他变量,或返回相同对象类型的函数或方法所组成的表达式。Nothing: 可选参数,用于断绝objectvar与任何指定对象的关系。若没有其他变量指向objectvar原来所引用的对象,将其赋为Nothing会释放该对象所关系的所有系统及内存资源。

例如:

过程代码;

Sub smpobject()

Dim myrange As Range…声明变量myrange为对象变量

‘将指定单元格区域A1:E1赋值给变量myrange.

Set myrange = werksheets(“sheet1”).Range(“A1:E1”) https://www.sodocs.net/doc/403322413.html,=”华文楷体”

Myrange.Font.Size= 20

Myrange.Font.Bold=True

表2-3

相关主题