VBA变量详解.doc_第1页
VBA变量详解.doc_第2页
VBA变量详解.doc_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

VBA变量详解VBA变量详解变量是用于临时保存数值的地方.每次应用程序运行时,变量可能包含不同的数值,而在程序运行时,变量的数值可以改变.为了说明为什么需要变量,可以按照如下步骤创建一个简单的过程:1)创建一个名为你叫什么名字的过程.2)在过程中输入如下代码:Inputbox 输入你的名字:现在不要担心inputbox语句的语法,将在第六学时中了解到有关这条命令的更多信息.3)按下F5键运行过程,这时会显示一个输入框,要求输入你的名字.4)输入你的名字并按确定按钮,则结束该过程.你输入的名字到那里去了?如何找到用户在输入框中输入的信息?在这种情况下,需要使用变量来存储用户输入的结果.4.4.1变量的数据类型使用变量的第一步是了解变量的数据类型.变量的数据类型控制变量允许保存何种类型的数据.表4-1列出了VBA支持的数据类型,还列出了各种类型的变量所需要的存储空间和能够存储的数值范围.数据类型存储空间数值范围Byte1字节0 - 255Booleam2字节True或者FalseInteger2字节-32768 - 32767Long(长整型)4字节-2147483648 - 2147483647Single4字节负值范围:-3.402823E38 - -1.401298E-45正值范围:1.401298E-45 - 3.402823E38Double8字节负值范围:-1.79769313486232E308 - -494065645841247E-324正值范围:4.94065645841247E-324 - 1.79769313486232E308Currency8字节-922337203685477 - 922337203685477Decimal14字节不包括小数时:+/-79228162514264337593543950335包括小数时:+/7.9228162514264337593543950335Date8字节1000年1月1日-9999年12月31日Object4字节任何引用对象String(长字符串)10字节+1字节/字符0 -约20亿String(固定长度)字符串的长度1 -约65400Varient(数字)16字节Double范围内的任何数值Varient(文本)22字节+1字节/字符数据范围和变长字符串相同表4-1 VBA数据类型作为ABV程序员,一个目标是选择需要存储空间尽量小的数据类型来保存所需要的数据,这正是表4-1提供各种数据类型存储空间的原因。例如,要保存诸如班级学生总数这样的小数字,那么Byte数据类型就足够了。在这种情况下,使用Single数据类型只是对计算机存储空间的浪费。4.4.2用Dim语句创建变量(声明变量)现在,你对变量可以使用的数据类型已经比较熟悉了,以下我们将创建变量.创建变量可以使用Dim语句,创建变量通常成为声明变量 Dim语句的基本语法如下:Dim变量名AS数据类型这条语法中的变量名代表将要创建的变量名.对变量的命名规则和对过程的命名规则相同.这条语句中的数据类型部分可以是表4-1中的任何一种数据类型.变量名必须以字母开始,并且只能包含字母数字和特定的特殊字符,不能包含空格句号惊叹号,也不能包含字符 & $ #.名字最大长度为255个字符在接下来的练习中将说明如何在VBA中使用变量,你将要输入你的名字,并用一个消息框将其显示出来.具体步骤如下:1)创建一个名为显示你的名字的子程序.2)输入以下代码:Public Sub显示你的名字()Dim s名字As Strings名字= Inputbox(请输入你的名字:)Msgbox 你好& s名字End Sub3)将鼠标放到过程中的任何地方,按下F5键运行过程,会显示一个输入框.4)输入你自己的名字并按回车键,会显示一个消息框,显示的文字中包含你自己的名字.5)单击确定按钮,返回过程中.在Dim语句中不必提供数据类型.如果没有数据类型,变量将被定义为Variant类型,因为VBA中默认的数据类型是Variant.你知道这一点后,最初的反应也许是觉得应该不用自己决定数据类型,而将一切抛给VBA.这种观念是完全错误的.你必须决定选择使用何种数据类型。因为Variant数据类型占用存储空间较大(16或22字节)而且它将影响程序的性能。VBA必须辨别Variant类型的变量中存储了何种类型的数据。4.4.3变量命名的惯例下表给出了推荐的变量命名惯例数据类型短前缀长前缀ArrayaaryBooleanfbinBytebbitCurrencyccurDoubleddblDate/Timedtdtm/datIntegeriintLongllngObjectoobjSinglesngStringsstrVariantvvar表4-2变量命名的前缀4.4.4使用数组如果你使用过其他编程序语言,可能对数组已经比较熟悉了.数组是具有相同数据类型并共同享有一个名字的一组变量的集合.数组中的元素通过索引数字加以区分,定义数组的方法如下:Dim array_name(n) As type (其中n是数组元素的个数)例如,如果要创建保存10个学生名字的数组,可以用以下语句:Dim s学生名字(9) As Integer注意,括号中的数字是9而不是10.这是因为在默认的情况下,第一个索引数字是0.数组在处理相似信息时非常有用.假设要处理15门考试成绩,可以创建15个独立的变量,这意味着要使用15个Dim语句。也可以创建一个数组来保存考试成绩,具体如下:Dim s考试成绩(14)As Integer声明数组时的另一种方法是不给定大小。可以在程序运行时定义其大小。通过创建动态数组就可以做到。例如,你的程序要创建一表格,可以提示用户输入表格的行和列的数目。声明动态数组的语法如下:Dim dyn_array() As type对数组声明后可以在程序运行时用:ReDim语句指定数组的大小:ReDim dyn_array()(array_size)参数array_size代表数组的新大小。如果要保留数组的数值,请在ReDim语句后使用保留字Preserve,具体语法如下:ReDim Preserve dyn_array(array_size)4.4.5变量赋值声明变量后就可以给变量赋值。请注意下列语句中为数组变量赋值时索引数字的使用。程序清单4-4Dim i人数A

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论