资源描述:
《excel2002vba_ch3》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第三章了解变量,数据类型和常量作者:JulittaKorol翻译:TigerChenDec18’2004就象现实生活中一样,编程中也是有些事情必须马上做,而其它的事情可以稍后进行。当你推迟一件事情,你可以将它放入你心里的或纸上的“要做的事情”清单。清单上零零散散的事情,经常按照它们类型或者重要性来分类。当你将任务交给别人或者最终你要开始做了,你需要将该任务从清单里划掉。本章将演示你的VBA过程如何记住一些重要的信息,后面将用在你的语句或计算里。你将学习过程如何保留不断地往变量输入“要做的事情”,如何声明变量,以及它们和数据类型及常量有何关系。保存VBA语句的结果在第二章,你
2、在立即窗口上输入一些VB指令,并且返回一些信息。例如,当你输入?Cells.Count,你发现工作表里有16,777,216个单元格。然而,当你在立即窗口之外的地方写VB过程时,你不能使用问号。当你忽略问号输入Cells.Count,VB不会突然停下来告诉你这个指令的结果。如果你想要知道某个指令执行后的结果,你就必须告诉VB记住它。在编程中,VB指令返回的结果可以赋值给变量。变量是什么变量是一个简单的用来引用一条数据的名称。你每次想要记住一个VBA指令的结果时,考虑用一个名称来代表它。例如,如果你必须用数字16,777,216来提醒你工作表中的总单元格数目,你可以使用一个名
3、称,如AllCells,NumOfCells,TotalCells,等等来代替。变量名称里可以包含字母,数字和一些标点符号,除了下面这些之外,#$%&@!变量的名称不可以以数字开始,也不可以含有空格。如果你想在变量名称里包含多于一个词语,可以使用下划线。虽然变量名称最多可以包含254个字母,但是,你最好使用短而简单的变量名称。使用短名称将会节省你的输入时间,如果你需要在你的VB过程里多次引用该变量的话。VB不管你在变量名称里使用大写字母还是小写字母,然而,大多数编程者使用小写字母,并且当变量名称包括一个或多个词语时,他们使用标题字母,那就是,象下面这样,他们将每个词语词头大
4、写:NumOfCells,First_Name。(译者:中文也可以做为变量名称使用,但是,个人不建议使用中文)技巧3-1不能用作变量名称的词语除了这些VBA占用了的词语之外,你可以使用任何你想用的标签作为变量名称。在VBA中有特定意义的VB语句以及其它某些词语不能用作变量名称。例如,词语Name,Len,Empty,Local,Currency或者Exit,如果你使用它们作为变量名,将会产生错误。技巧3-2富有意义的变量名称给变量那种可以帮助你记住它们作用的名称。有些程序员使用前缀来识别变量类型。在你的代码中,一个以前缀“str”开头的变量名称(例如strName),很快就
5、可以知道它是传递文本字符串的变量。数据类型当你创建VB过程时,你脑海里必然有个目的,你想要处理数据。因为你的过程要处理不同类型的信息,所以,你应该了解VB如何储存数据。“数据类型”这个术语决定了数据如何储存在电脑的内存里。例如,数据可以储存为数字,文本,日期,对象,等等。如果你忘了告诉VB你的数据类型,VB将分配数据类型为“Variant”。“Variant”类型有能力解决数据本身的操作类型并且使用该类型。表3-1里列出了VB数据类型。除了内置的数据类型之外,你还可以定义你自己的数据类型。(你将在第八章里看到用户自定义的数据类型的例子。)因为不同的数据类型占据电脑内存的空间
6、是不一样的,一些类型比另外一些更“贵”些,因此,为了保存内存并确保你的过程运行更快,你应该选择占用字节最少的,同时又能够处理你数据的数据类型。表3-1VBA数据类型数据类型(名称)大小(字节)描述Boolean2逻辑值True或FalseByte10到255的整数Integer2–32,768到32,767的整数Long4–2,147,483,648到2,147,483,647的整数Single4单精度浮点数值负数:–3.402823E38到–1.401298E–45正数:1.401298E–45到3.402823E38Double8双精度浮点数值负数:–1.7976931
7、3486231E308到–4.94065645841247E–324正数:4.94065645841247E–324到1.79769313486231E308Currency8(放大的整数(译者:整数除以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.922816251426433759