设为首页
|
收藏本站
|
繁体中文
|
手机版
整站搜索
资讯
技巧
源码
行业
设备(待改)
资源
信息库(待改)
产品
作品(待改)
活动
培训(视频)
平台(待改)
二级(待改)
互动(作废)
交易
Access培训
-
Access开发平台
-
Access行业开发
首页
资讯
技巧
源码
行业
资源
活动
关于
技巧
ACCESS数据库
启动/设置/选项/背景
修复/压缩
安全/加密/解密
快捷键
版本升级/其它等
数据表
命名方式/设计规范
表设计
查询
Sql语言基础
选择查询
更新查询
删除查询
追加查询
生成表查询
交叉表查询
SQL特定查询
查询参数
查询综合应用
界面/窗体/控件
标签
文本框
命令按钮
组合框/列表框
选项组/复选框/选项按钮
选项卡
子窗体
窗体本身/综合应用
其它
报表打印
报表设计
高级报表
模块/函数/VBA/API/系统
VBA基础
内置函数
调试/跟踪/Debug
模块/类模块
API/COM/系统相关
字符数字日期
网络通信游戏
加密解密安全
文件处理
经典算法
宏/菜单/工具栏/功能区
宏/脚本
菜单/工具栏
功能区/Ribbon
图表/图形/图像/多媒体
图表
图形/图像
音频
视频/动画
DAO/链接表/ADO/ADP
DAO/链接表/ODBC
ADO/RDO
ADP
ActiveX/第三方控件/插件
Treeview树控件
ListView列表控件
Toolbar工具栏控件
微软其它控件
Dbi-Tech
CodeJock
Grid++Report
FastReport
ComponentOne
加载项/插件/Addin
OFFICE集成/导入导出/交互
Excel导入导出/交互
Word导入导出/交互
PPT交互
Outlook控制/邮件
Text文本文件/INI/CSV
PDF/SWF/XML格式
CAD格式
Sharepoint/其它Office
SqlServer/其它数据库
表
视图
存储过程/触发器
函数
用户/权限/安全
调试/维护
SqlServer其它/综合
发布/打包/文档/帮助
开发版/运行时
打包/发布/部署
开发文档/帮助制作
Access完整行业系统
采购管理系统
销售管理系统
仓库管理系统
人力资源管理HRM
CRM管理系统
MRP/ERP管理系统
BRP/流程优化
其它管理系统
心得/经验/绝招
其它/杂项
Excel技巧
Excel应用与操作
Excel开发编程
Word技巧
Word应用与操作
Word开发编程
Outlook技巧
Outlook应用与操作
Outlook开发编程
热门文章
用快捷键实现相对引用和绝对..
股票板块的拟合比较
EXCEL技巧53例一
在 Excel 2000 ..
Excel在利率检查中的运..
如何在Excel中使用文件..
最新文章
在 Excel中 打开Ac..
为选择的区域添加边框
如何在Excel中使用文件..
用快捷键实现相对引用和绝对..
【技巧】Excel控制特定..
Excel技巧集锦
联系方式
Access交流网(免费Access交流)
QQ:18449932
网 址:
www.access-cn.com
当前位置:
首页
>
技巧
>
Excel技巧
>
Excel应用与操作
Excel应用与操作
VBA系列讲座(4):理解变量
4.4 变量
变量是用于临时保存数值的地方.每次应用程序运行时,变量可能包含不同的数值,而在程序运行时,变量的数值可以改变.
为了说明为什么需要变量,可以按照如下步骤创建一个简单的过程:
1)创建一个名为"你叫什么名字"的过程.
2)在过程中输入如下代码:
Inputbox "输入你的名字:"
现在不要担心inputbox语句的语法,将在第六学时中了解到有关这条命令的更多信息.
3)按下F5键运行过程,这时会显示一个输入框,要求输入你的名字.
4)输入你的名字并按"确定"按钮,则结束该过程.
你输入的名字到那里去了?如何找到用户在输入框中输入的信息?在这种情况下,需要使用变量来存储用户输入的结果.
4.4.1 变量的数据类型
使用变量的第一步是了解变量的数据类型.变量的数据类型控制变量允许保存何种类型的数据.表4-1列出了VBA支持的数据类型,还列出了各种类型的变量所需要的存储空间和能够存储的数值范围.
表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 String
s名字 = Inputbox("请输入你的名字:")
Msgbox "你好"& s名字
End Sub
3)将鼠标放到过程中的任何地方,按下F5键运行过程,会显示一个输入框.
4)输入你自己的名字并按回车键,会显示一个消息框,显示的文字中包含你自己的名字.
5)单击"确定"按钮,返回过程中.
在Dim语句中不必提供数据类型.如果没有数据类型,变量将被定义为Variant类型,因为VBA中默认的数据类型是Variant.你知道这一点后,最初的反应也许是觉得应该不用自己决定数据类型,而将一切抛给VBA.这种观念是完全错误的.你必须决定选择使用何种数据类型。因为Variant数据类型占用存储空间较大(16或22字节)而且它将影响程序的性能。VBA必须辨别Variant类型的变量中存储了何种类型的数据。
4.4.3 变量命名的惯例
下表给出了推荐的变量命名惯例
表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-4
Dim i人数 As Integer
Dim i考试成绩 As Integer
Dim i As Integer
i人数 = inputbox("输入学生的人数:")
ReDim Preserve i考试成绩(i数量)
For i = 1 to i人数
i考试成绩(i) = inputbox("输入考试成绩"& i )
Next
4.5 使用常量
现在,你已经知道变量是存储非静态信息的存储容器.当存储静态信息时可以创建常量.它可以供程序多次使用而且便于记忆.比如圆周率比3.1415926好理解得多.
要声明常量并设置常量的值,需要使用const语句.常量声明后,不能对它赋一个新的值.例如,假设需要声明一个常量来保存销项税率,可以使用以下语句:
conet 销项税率 As Long = 0.17
通常常量声明时用全大写字母以区分变量.
4.6 作用域
到现在为止,已经学习了如何定义变量和常量,但是还不知道在何处定义.可以在两个地方定义常量和变量:
过程中定义和在模块顶部一个名为"通用声明"的区域内定义.而且定义的位置就决定了租用域.
在过程中声明,该变量只能在该过程中使用,其他过程中不能使用这个变量和常量,这中变量成为局部变量或过程级变量;在模块顶部声明的变量称为模块级变量,该变量在该模块的所有过程中都可以使用。
还有一种等级的作用域称为公共级。公共级变量可以在应用程序的任何过程中使用,不论过程和变量是否定义在一个模块。这就使得公共级变量在使用中十分灵活,但是公共级变量在程序运行时一直保留在内存中,这样就占用了系统资源。要创建公共级变量,可以用Public语句,具体语法如下:
Public variablename As datatype
要创建公共级常量,具体语法如下:
Public const CONSTANAME datatype = value
公共级变量或常量必须在模块顶部的“通用声明”区域中定义。
4.7 小结
本课的重点是变量和常量。在本课中你学会了如何创建变量来保存非静态的数据。我们了解了VBA的数据类型,我们也学会了创建常量来保存静态的数据。本课的最后部分我们学习了变量和常量的作用域。
4.8 疑难解答
1.如果希望在多个位置使用变量的数据,应该在何处定义该变量?
答:必须在模块顶部的“通用声明”区域内定义。对于模块级变量用Dim语句,对于公共级变量用Public语句
2.模块是否独立于工作簿?
答:不,实际上模块是工作簿的一部分,当保存工作簿时,对模块所做的改变也同时保存下来.
3.为什么不应该将所有变量定义为Variant数据类型?
答:Variant类型的数据,占用较多的内存,并且影响应用程序的性能.
发布人:未知
分享到:
点击次数:
更新时间:2005-03-14 16:33:48 【
打印此页
】 【
关闭
】
上一条:
VBA系列讲座(3):学习控件
下一条:
VBA系列讲座(5):利用VBA设置工作表使用权限
相关文章
•
在 Excel中 打开Access窗体或者报表的错误原因及解决办法
•
为选择的区域添加边框
•
如何在Excel中使用文件对话框
•
用快捷键实现相对引用和绝对引用快速来回切换
•
【技巧】Excel控制特定单元格输入文本的长度
•
Excel技巧集锦
•
Excel技巧大汇总
•
在word中输出数学符号
热门文章
[2005-02-24]
小丸子学 Excel2000 之五
[2005-02-12]
Excel 97 大提速
[2006-10-29]
关于用SUMPRODUCT取代SUM数组公式的想法
[2005-03-07]
Excel 2000中的快速操作
[2005-03-06]
高效建立Excel 2000工作表
[2006-08-19]
轻松调整Excel奇数行行高
热门产品