预览加载中,请您耐心等待几秒...
1/3
2/3
3/3

在线预览结束,喜欢就下载吧,查找使用更方便

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

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

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

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

VBA变量详解 VBA变量详解 变量是用于临时保存数值的地方.每次应用程序运行时,变量可能包含不同的数值,而在程序运行时,变量的数值可以改变. 为了说明为什么需要变量,可以按照如下步骤创建一个简单的过程: 1)创建一个名为"你叫什么名字"的过程. 2)在过程中输入如下代码: Inputbox"输入你的名字:" 现在不要担心inputbox语句的语法,将在第六学时中了解到有关这条命令的更多信息. 3)按下F5键运行过程,这时会显示一个输入框,要求输入你的名字. 4)输入你的名字并按"确定"按钮,则结束该过程. 你输入的名字到那里去了?如何找到用户在输入框中输入的信息?在这种情况下,需要使用变量来存储用户输入的结果. 4.4.1变量的数据类型 使用变量的第一步是了解变量的数据类型.变量的数据类型控制变量允许保存何种类型的数据.表4-1列出了VBA支持的数据类型,还列出了各种类型的变量所需要的存储空间和能够存储的数值范围. 数据类型存储空间数值范围 Byte1字节0-255 Booleam2字节True或者False Integer2字节-32768-32767 Long(长整型)4字节-2147483648-2147483647 Single4字节负值范围:-3.402823E38--1.401298E-45 正值范围:1.401298E-45-3.402823E38 Double8字节负值范围:-1.79769313486232E308--494065645841247E-324 正值范围:4.94065645841247E-324-1.79769313486232E308 Currency8字节-922337203685477-922337203685477 Decimal14字节不包括小数时:+/-79228162514264337593543950335 包括小数时:+/7.9228162514264337593543950335 Date8字节1000年1月1日-9999年12月31日 Object4字节任何引用对象 String(长字符串)10字节+1字节/字符0-约20亿 String(固定长度)字符串的长度1-约65400 Varient(数字)16字节Double范围内的任何数值 Varient(文本)22字节+1字节/字符数据范围和变长字符串相同 表4-1VBA数据类型 作为ABV程序员,一个目标是选择需要存储空间尽量小的数据类型来保存所需要的数据,这正是表4-1提供各种数据类型存储空间的原因。例如,要保存诸如班级学生总数这样的小数字,那么Byte数据类型就足够了。在这种情况下,使用Single数据类型只是对计算机存储空间的浪费。 4.4.2用Dim语句创建变量(声明变量) 现在,你对变量可以使用的数据类型已经比较熟悉了,以下我们将创建变量.创建变量可以使用Dim语句,创建变量通常成为"声明变量"Dim语句的基本语法如下: Dim变量名AS数据类型 这条语法中的变量名代表将要创建的变量名.对变量的命名规则和对过程的命名规则相同.这条语句中的数据类型部分可以是表4-1中的任何一种数据类型. 变量名必须以字母开始,并且只能包含字母数字和特定的特殊字符,不能包含空格句号惊叹号,也不能包含字符@&$#.名字最大长度为255个字符 在接下来的练习中将说明如何在VBA中使用变量,你将要输入你的名字,并用一个消息框将其显示出来.具体步骤如下: 1)创建一个名为"显示你的名字"的子程序. 2)输入以下代码: PublicSub显示你的名字() Dims名字AsString s名字=Inputbox("请输入你的名字:") Msgbox"你好"&s名字 EndSub 3)将鼠标放到过程中的任何地方,按下F5键运行过程,会显示一个输入框. 4)输入你自己的名字并按回车键,会显示一个消息框,显示的文字中包含你自己的名字. 5)单击"确定"按钮,返回过程中. 在Dim语句中不必提供数据类型.如果没有数据类型,变量将被定义为Variant类型,因为VBA中默认的数据类型是Variant.你知道这一点后,最初的反应也许是觉得应该不用自己决定数据类型,而将一切抛给VBA.这种观念是完全错误的.你必须决定选择使用何种数据类型。因为Variant数据类型占用存储空间较大(16或22字节)而且它将影响程序的性能。VBA必须辨别Variant类型的变量中存储了何种类型的数据。 4.4.3变量命名的惯例 下表给出了推荐的变量命名惯例 数据类型短前缀长前缀 Arrayaary Booleanfbin Bytebbit Currencyccur Doubleddbl Date/Timedtdtm/dat Integeriint Longllng Obje