了解VBA的变量_第1页
了解VBA的变量_第2页
了解VBA的变量_第3页
全文预览已结束

下载本文档

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

文档简介

1、了解VBA的变量,数据类型和常量就象现实生活中一样,编程中也是有些事情必须马上做,而其它的事情可以稍后进行。 当你推迟一件事情,你可以将它放入你心里的或纸上的“要做的事情”清单。清单上零零散散的事情,经常按照它们类型或者重要性来分类。当你将任务交给别人或者最终你要开始做了,你需要将该任务从清单里划掉。本章将演示你的 VBA过程如何记住一些重要的信息,后面将用在你的语句或计算里。你将学习过程如何保留不断地往变量输入“要做的事情”,如何声明变量,以及它们和数据类型及常量有何关系。对变量进行声明的好处通常,在所有过程开头都放一个这样的语句:Option Explicit它的作用是强制要求对所有的变量

2、进行声明。这样做的好处在于:1、易发现并修改变量名拼写错误。否则, VBA会认为其错误的拼写为一个新的Variant类型变量,并赋予其值为 0或空(字符)。2、可提高程序的执行速度,不必每一次在编译时都变量进行检查。3、可为对象变量自动列出可用的属性和方法列表,防止对属性和方法的拼写错误从而出现无效的方法和属性。建议在 VBE编辑器中,选 工具选项”,在 选项”框中的 编辑器”标签中选中 要求变量声明” 前的复选框。1保存VBA语句的结果在第二章,你在立即窗口上输入一些VB指令,并且返回一些信息。例如,当你输入 ?Cells.Count ,你发现工作表里有 16,777,216个单元格。然而,

3、当你在立即窗口之外的地方 写VB过程时,你不能使用问号。当你忽略问号输入Cells.Count , VB不会突然停下来告诉你这个指令的结果。如果你想要知道某个指令执行后的结果,你就必须告诉VB记住它。在编程中,VB指令返回的结果可以赋值给变量。2变量是什么变量是一个简单的用来引用一条数据的名称。你每次想要记住一个VBA指令的结果时,考虑用一个名称来代表它。例如,如果你必须用数字16,777,216来提醒你工作表中的总单元格数目,你可以使用一个名称,如 AllCells , NumOfCells, TotalCells ,等等来代替。 变量名称里可以包含字母,数字和一些标点符号,除了下面这些之外

4、,#$ %&!变量的名称不可以以数字开始,也不可以含有空格。如果你想在变量名称里包含多于一个词语,可以使用下划线。虽然变量名称最多可以包含254个字母,但是,你最好使用短而简单的变量名称。使用短名称将会节省你的输入时间,如果你需要在你的VB过程里多次引用该变量的话。VB不管你在变量名称里使用大写字母还是小写字母,然而,大多数编程者使用小写字 母,并且当变量名称包括一个或多个词语时,他们使用标题字母,那就是,象下面这样,他 们将每个词语词头大写:NumOfCells , First_Name 。(译者:中文也可以做为变量名称使用,但是,个人不建议使用中文) 技巧3- 1不能用作变量名称的词语 除

5、了这些VBA占用了的词语之外,你可以使用任何你想用的标签作为变量名称。在VBA中有特定意义的VB语句以及其它某些词语不能用作变量名称。例如,词语 Name Len, Emp ty , Local , Currency或者Exit ,如果你使用它们作为变量名,将会产生错误。 技巧3-2富有意义的变量名称给变量那种可以帮助你记住它们作用的名称。有些程序员使用前缀来识别变量类型。在你的代码中,一个以前缀“str ”开头的变量名称(例如 strName ),很快就可以知道它是 传递文本字符串的变量。3数据类型当你创建VB过程时,你脑海里必然有个目的,你想要处理数据。因为你的过程要处理 不同类型的信息,

6、所以,你应该了解VB如何储存数据。“数据类型”这个术语决定了数据如何储存在电脑的内存里。例如,数据可以储存为数字,文本,日期,对象,等等。如果你 忘了告诉VB你的数据类型,VB将分配数据类型为“ Variant 。“Variant ”类型有能力解 决数据本身的操作类型并且使用该类型。表3-1里列出了 VB数据类型。除了内置的数据类型之外,你还可以定义你自己的数据类型。(你将在第八章里看到用户自定义的数据类型的例子。)因为不同的数据类型占据电脑内存的空间是不一样的,一些类型比另外一些更 “贵”些,因此,为了保存内存并确保你的过程运行更快,你应该选择占用字节最少的,同时又能够处理你数据的数据类型。

7、表31 VBA数据类型数据类型(名称)大小(字节)描述Boolean2逻辑值True或FalseByte10至ij 255的整数Integer2-32,768 到 32,767 的整数LongP 42,147,483,648 到 2,147,483,647 的整数Single4单精度浮点数值负数:-3.402823E38 至UT.401298E - 45正数:1.401298E -45 到 3.402823E38Double8双精度浮点数值负数:-1.486231E308 至卜 4.841247E - 324正数:4.841247E - 324 至U 1.486231E308Currency8

8、(放大的整数(译者:整数除以 10000得到的数值,参 见VBA帮助)使用在定点计算中:-922,337,203,685,477.5808 到922,337,203,685,477.5807Decimal14+/ - 79,228,162,514,264,337,593,543,950,335小数点;+/ - 7.0335小数点后有28位数字;最小的非0数字是+/ - 0.0000000000000000000000000001没有Date8从100年1月1日至ij 9999年12月31日的日期String用)(变长字符10字节+字符串长度变长字符串最多可包含大约20亿(2A31)个字符。St

9、ring 用)(定长字符字符串长 度定长字符串最多可包含大约65,400个字符。Object4对象变量用来引用Excel中的任何对象Variant(带数字)16取图氾围到Double类型的任何数值Variant(带字母)22字节+字符串长度和变长字符串的范围一样用户定义类型(使用Type)成员所需 的数值每个成员的范围和它的数据类型的范围f4如何产生变量你可以通过一个专门的命令来声明变量从而产生一个变量,或者也可以直接在语句里使用变量(而不需要声明)。当你声明变量时,你实际上让 VB知道该变量的名称和数据类型, 这叫做“强制显式声明变量”。如果你在使用变量前不告诉VB关于该变量的任何信息,彳这

10、是在含蓄地告诉VBA你想要创建这个变量。没有明确声明的变量会自动地分配为Variant数据类型(参见表 31)。虽然不声明变量很方便 (你可以随意创建变量, 并且不用事先知道被赋值的数值的数据类型 就可以赋值给该变量),但是,它会导致很多问题,参见技巧 3-4中要点。 技巧3 3强制显式声明变量的好处强制显式声明变量加速过程的执行。因为VB知道数据类型,它只会占用实际储存数据需要的内存强制显式声明变量使你的代码可读性和可理解性增加,因为所有的变量都已列在过程的最前面强制显式声明变量帮助预防由于变量名称拼写错误而导致的错误。VB根据变量声明里的拼写自动更正变量名称。技巧3二4一隐式声明变量的坏处如果你错误拼写了一个变量名称,VB会显示运行时间错误,或者产生一个新的变量。

温馨提示

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

评论

0/150

提交评论