声明类关键字的应用
2016-5-20 0:0:0 wondial声明类关键字的应用
声明类关键字的应用Private:声明私有类型的数据;
Static:声明静态类型的数据;
Dim:声明数据类型;如:Dim myCell As Range
reDim:定义未显式声明的数组的维数和元素;
Const:声明常量数据;如:Const limit As Integer = 33
As:一般用于声明数据类型中的“As Type”子句;
Type:声明用户自定义数据类型。
首先我们先了解下VBA代码的语法结构。每一种编程语言都有各自的语法组织结构,什么内容就应该放在什么地方。VBA代码一般都按照事件、过程、函数、模块、类模块等来组织,不管是系统内部定义好的还是开发人员自定义的过程、函数或模块,使用前都必须声明。声明也就是告诉VBA代码的编译器,我下面的程序中会用到这些变量、过程、函数和模块等。声明分两种,一种是显式声明,也就是将声明部分代码明确的写出来。另一种是非显式声明。当您的模块中含有这条语句“Option Explicit”,那么系统就强制规定您必须显式声明该模块中的所有变量,否则将编译出错。如果没有出现上述语句,那么您可以在使用变量前不显式声明该变量,系统编译时将默认该变量类型为Variant。
声明语句可以命名和定义过程、变量、数组以及常数。当声明一个过程、变量或常数时,也同时定义了它的作用范围,而此范围是取决于声明位置以及用什么关键字来声明它。先说声明的位置,如果你在某个工作表的某个过程中声明了一个变量或函数,那么这个变量或函数的作用范围就局限于这个过程;如果你在一个工作表的(通用)部分声明了一个变量或函数,那么这个变量或函数的作用范围就局限于该工作表代码模块中。这就表明声明的位置可以决定变量或函数的作用范围。除了声明位置外,采用哪个关键字也可以决定被声明对象的作用范围。比如,如果你在一个自定义模块中,采用PUBLIC这个关键字来声明一个变量,那么这个变量在所有应用程序的所有没有使用 Option Private Module 的模块的任何过程中都是可用的(若该模块使用了 Option Private Module,则该变量只是在其所属工程中是公用的)。而采用PRIVATE声明的变量,其作用范围就只有该模块内部,称为私有变量。上述两个关键字只能在模块级别代码中使用。(所谓模块级别就是只在过程外部的代码,即某个工作表的部分中写的代码,区别于过程级别的代码,即过程中书写的代码)除此以外,还有一个DIM关键字,用这个关键字可以在模块级别中声明变量,也可以在过程级别中声明的变量;前者声明的变量对该模块中的所有过程都是可用的,而后者则只在过程内是可用的。STATIC关键字是用来声明静态类型变量的,这是什么意思呢?举个例子你就清楚了,一般声明的过程级别变量,在程序代码运行完该过程之后,该变量的值就自动清空了,该变量也由于所在过程的运行完毕而结束了其生存周期。这样的过程级别的变量称为动态变量。那么有另外一种变量,虽然也是在过程级别中被声明的,但在该过程运行结束以后,该变量的值仍然保持不变,直至该变量所在过程所在的模块运行中止为止。这样的变量就叫做静态变量。静态变量只能在过程级别中使用,用于声明变量并分配存储空间。在整个代码运行期间都能保留使用 Static 语句声明的变量的值,并且其生命周期与包含该过程定义的模块相同。从作用范围来讲,这类变量由于在过程级别的代码中被声明,因此其作用范围只是局限于其所在的过程内部。如下图所示:
正确理解声明类关键字的用法,对把握变量、过程、函数等对象的作用范围和生命周期有着非常总要的作用。
如果您的问题还没有解决,可以到 T+搜索>>上找一下
相关阅读
- T6设置账龄区间图文教程2021-1-9 14:4:5
- T6如何设置工资项目公式图文教程2021-1-9 13:59:24
- T6如何设置指定科目图文教程2020-12-25 17:2:11
- T6填制凭证技巧图文教程2020-12-23 15:33:35
- T6如何新增会计科目图文教程2020-12-23 15:20:46
- T6如何生成资产负债表图文教程2020-12-23 15:15:30
- T6销售订金业务图文教程2020-12-21 11:54:12
- T6如何新增固定资产类别图文教程2020-12-18 14:3:27
- T6银行对账单录入提示日期超出范围图文教程2020-12-16 12:14:15
- T6如何设置合并凭证显示打印图文教程2020-12-16 12:1:38
最新信息
- 凭证打印时别的都能正常打印,由固定资产生成的凭证打印时提示打印机缺纸,错误号1001
- 销售出库单 记账失败 提示 单据号“00000001” 记账失败
- 提示此帐套行业性质与科目设置中的科目分类不符这么怎么办
- 11.5客户端登录一直这样,服务器可以打开,地址可以ping通,端口也可以
- t3安装到最后一直不提示重新启动,强制重启后,服务里没有T3,这是怎么回事啊-电脑装的是WIN7 32位的
- T3 10.8.2 反记账按CTRL+H没 反应 反结账可以
- T3普及版10.8puls1 民间非盈利组织 选择10月现金流量,现金流量表的累计算到11月份。这是怎么回事,11月份算过了,但是往回查选择10月份,不会算到10月份,算到11月份。
- 反结账、反记账快捷键没有任何反映(fn+Ctrl+shift+F6),请问怎么处理?
- 变动单点击没有反应是什么原因?
- 用友软件易代账的结账是什么意思?全年结账吗?每月好像不结转损益,就不能结账-易代账的结账是什么意思?全年结账吗?每月好像不结转损益,就不能结账 您好,易代账的结账就是对选择的月份进行结账。不结转损益就会导致资产负债表不平,就不能结账了。
卡片管理上的累计折旧可以按照已经折旧的金额显示吗 ? 假设说进入2014年 打开卡片管理 , 卡片管理里面累计折旧的金额显示是2014年该固定资产提的折旧 . 卡片管理上的累计折旧可以按照已经折旧的金额显示吗 ? 假设说进入2014年 打开卡片管理 , 卡片管理里面累计折旧的金额显示是2014年该固定资产提的折旧 .
暂不支持按照已经折旧金额显示。