智能进销存软件:革新现代库存管理
152
2023-11-07
【摘要】 本书摘自《Excel VBA跟卢子一起学 早做完 不加班 基础入门版》一书中第2章,第6节,韩小良著。
2.6.1 如何设置公有变量和私有变量
变量/常数的作用周期实际上就是指:某个变量/常数在什么时候还能调用它所存储的 数据。就像读书时某学校的档案室(模块内私有量),该校校长随时可以查阅该校师生(数据) 所有档案;但是如果是其他学校的人员,那么他(模块外)就不能随意查阅这个学校的师生 档案了。
而现在区教育厅弄了一个大型的学校档案室,将原来各校的档案都归集了(模块级公有量), 任何人只需要获取批准(知道公有变量名称)就可以轻松调阅所有档案了。
大型档案室就如同公有量,所有指定的数据都被写在这公有量内,且其他非该模块内的过 程都可以读取其中的数据内容。
将这个理论套用到代码中,在模块1的顶部声明3个变量:模块内公有变量、模块内私 有变量01和模块内私有变量02。其中公有变量用Public 语句声明,模块内私有变量01使用 Private 语句声明,模块内私有变量02使用Dim 语句声明。
模块1相当于某学校,而其中的公有变量相当于已经归档到了区设置的大型档案室;私有 变量01和私有变量02 则视为该校的档案室。
? 皮蛋:言子等会,你这私有变量01和02,为什么说它们视为同一档案室呢? 无言:其实在顶端使用Private和Dim语句声明作用一样,这个等下再说。
现在来设置4个子过程:首先通过代码2-19 的“赋值变量”过程分别对顶端的3个变 量进行赋值,代码2-20过程则是在过程内部声明新的变量“过程内私有变量01”,并通过 Msgbox 函数提示;代码2-19和代码2-20过程起到给变量赋值的作用。
接着代码2-21过程为在模块1(本模块)中通过“获取已赋值的变量”过程来获取顶端变 量的值及代码2-20中的变量值,并显示它们的各自的具体赋值。
接着插入一个新的模块“模块2”,并在其中通过代码2-22的过程,跨模块调用模块1中顶端变量及代码2-21 中的过程私有变量,并显示它们的具体赋值,4个过程代码如下。
代码2 - 19 模块1中的顶端变量赋值
1|Rem 声明3个顶端变量
2|Rem Public和 Private均无法在过程内声明变量
3|Public 模块内公有变量 As String
4|Private 模块内私有变量01 As String
5|Dim 模块内私有变量02 As String
6|
7|Sub 赋值变量)
8| 模块内公有变量=”我是在模块1中的顶部Public语句声明的模块内公有变量”
9| 模块内私有变量01="我是在模块1中的顶部 Private语句声明的模块内私有变量01"
10| 模块内私有变量02=”我是在模块1中的顶部Dim 语句声明的模块内私有变量02”
11|End Sub
代码2 - 20 模 块 1 中的过程内变量赋值
1|Su b 过程内变量(
21 Dim 过程内私有变量01 As String
3| 过程内私有变量01="我是在模块1中过程内变量 Private 语句声明的过程内私有变量01" 4| MsgBox 过程内私有变量01
5|End Sub
代码2 - 21 模块1中调用两个赋值过程,并显示赋值情况
1|Sub 获取已赋值的变量)
2| 赋值变量
3| MsgBox 模块内公有变量 ‘显示该变量的赋值内容
4| MsgBox 模块内私有变量01’显示该变量的赋值内容
5| MsgBox模块内私有变量02'显示该变量的赋值内容
6| 过程内变量
7| MsgBox 过程内私有变量01'不显示该变量的赋值内容
8|End Sub
运行代码2-21过程,它将调用代码2-19和代码2-20过程。接下来代码2-21 将先运行代 码2-19赋值顶端变量过程,过程运行后显示的变量情况如图2-52~2-54 所示,显示了各自的 赋值数据。
代 码 2 - 2 2 跨模块在模块2中调用模块1中的过程
1|Sub 跨模块调用变量0
21 MsgBox 模块内公有变量 '显示该变量的赋值内容
3| MsgBox 模块内私有变量01'不可显示该变量的赋值内容
4| MsgBox 模块内私有变量02'不可显示该变量的赋值内容
5|End Sub
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们 18664393530@aliyun.com 处理,核实后本网站将在24小时内删除侵权内容。