ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > 我的测验 > 操作与技巧 > 【罗刚君VBA免费课作业题】之第十课作业

【罗刚君VBA免费课作业题】之第十课作业

作者:绿色风 分类: 时间:2022-08-18 浏览:155
楼主
罗刚君
提示:此题目是“VBA入门免费教学群”(群号:30729794)的课后作业
请未参与听课者绕道,谢谢配合。
____________________不太华丽的分隔线_____________________
1.如果需要一个AA,在当前过程中才能调用,需要一个变量BB,可当前模块中的所有过程都可以调用,还需要一个变量CC,在所有模块都可以调用,应如何声明这三个变量?
2.简述如何释放数据变量和对象变量,它们的区别是什么。以及释放静态变量和动态变量的区别是什么。
3.对变量和常量赋值的区别是什么?
4.为什么需要定义公共变量?

____________________不太华丽的分隔线_____________________
补充:“VBA入门免费教学群”(群号:30729794)每周三上课一次,有兴趣者皆可报名,永远免费。
请提交作业时注明在免费听课群的昵称。三次不交作业者,将踢出群,让出空间让更多的人进来听课,请大家配合
2楼
小志就是我了
吉林-悟

1.如果需要一个AA,在当前过程中才能调用,需要一个变量BB,可当前模块中的所有过程都可以调用,还需要一个变量CC,在所有模块都可以调用,应如何声明这三个变量?
(1)在过程内定义AA ,例如:
Sub 过程级AA()
  Dim 过程级变量_AA
End Sub
(2)在当前模块中的所有过程都可以调用,需要在当前模块的最上边定义,例如:
Private 模块级私有变量_BB As String
Dim 模块级私有变量_BB As String
(3)在所有模块都可以调用
在第一个模块的最上面定义,例如:
Public 模块级公有变量_CC As String

2.简述如何释放数据变量和对象变量,它们的区别是什么。以及释放静态变量和动态变量的区别是什么。
让变量的值消失包含人工释放变量和自动释放两种方式。自动释放需要看变量的存活周期。
过程级当执行完过程后变量的值就自动消失。
模块级变量手工删除模块,那么在删除模块时会自动释放变量的值,如果不删除模块,那么只有关闭工作簿时才释放变量的值。
人工释放数据变量可以用end,释放所有变量。
对象变量可以用Set Rng=Nothing 来释放。

过程级动态变量,过程结束即可释放。
静态变量过程结束,不会被释放,需要end释放,或者关闭工作簿释放。

3.对变量和常量赋值的区别是什么?
定义常量,表达式是个必须的项,用于指定文字、其他常数,或由除Is之外的任意算术操作符和逻辑操作符所构成的任意组合。
使用了Public,必须在模块顶部使用,而不能在过程中使用。
变量在定义时,不能赋值。

4.为什么需要定义公共变量?
简化程序代码,适用于多个过程共享一个变量。
3楼
wendel
无心手语 25420198

1、        定义过程级变量,可以该过程中sub /end sub之间定义,直接用dim aa [as 数据类型],当前模块所有过程可调用的可以在模块顶端,所有过程之外,用private bb [as 数据类型] 或者 dim bb [as 数据类型]定义均可,在所有模块中可以调用的变量,需要用public cc [as 数据类型]来定义。
2、        释放数据变量直接对变量进行赋值零即可,对象变量,可以采用set 对象变量名= nothing的方式进行,区别是空值的含义不同,一个是0,一个是“nothing”。
静态变量和动态变量的差别是,静态变量每次执行的,都会保留上一次运行的值,而动态变量每次运行“从零开始”,即过程结束后就释放了动态变量的值,而静态变量的值被保存了。
3、        常量赋值是定义常量的时候就可以赋值,代码运行中保持不变,有益于反复引用和方便识别;变量赋值是根据代码的过程中,根据需要进行赋值。
4、        定义公共变量,主要是方便别的模块中的过程调用,比如一些公共要反复利用的值或者 相互传递计算的需求。
4楼
leitaobeining
1.        如果需要一个AA,在当前过程中才能调用,需要一个变量BB,可当前模块中的所有过程都可以调用,还需要一个变量CC,在所有模块都可以调用,应如何声明这三个变量?
Public CC as long ,Private BB as log ,Dim AA as long
2.简述如何释放数据变量和对象变量,它们的区别是什么。以及释放静态变量和动态变量的区别是什么。
释放数据变量值自动消失, 对象变量的值保留
释放动态变量 值自动消失,静态变量的值保留
3.对变量和常量赋值的区别是什么?
如在FOR循环中 变量i随循环而变化,常量j则不便
4.为什么需要定义公共变量?
在B过程中用A过程变量参与运算,那么需要定义公共变量,否则B过程无法调用A过程变量的值
5楼
leitaobeining
罗老师好,我是群中的  零点

1.        如果需要一个AA,在当前过程中才能调用,需要一个变量BB,可当前模块中的所有过程都可以调用,还需要一个变量CC,在所有模块都可以调用,应如何声明这三个变量?
Public CC as long ,Private BB as log ,Dim AA as long
2.简述如何释放数据变量和对象变量,它们的区别是什么。以及释放静态变量和动态变量的区别是什么。
释放数据变量值自动消失, 对象变量的值保留
释放动态变量 值自动消失,静态变量的值保留
3.对变量和常量赋值的区别是什么?
如在FOR循环中 变量i随循环而变化,常量j则不便
4.为什么需要定义公共变量?
在B过程中用A过程变量参与运算,那么需要定义公共变量,否则B过程无法调用A过程变量的值
6楼
manuel442
1.如果需要一个AA,在当前过程中才能调用,需要一个变量BB,可当前模块中的所有过程都可以调用,还需要一个变量CC,在所有模块都可以调用,应如何声明这三个变量?
AA 过程级变量、写在 一个过程中;BB模块级变量、写在模块顶部;CC公共变量(public)、写在模块顶部。
2.简述如何释放数据变量和对象变量,它们的区别是什么。以及释放静态变量和动态变量的区别是什么。
用END可以释放数据变量和对象变量,对象变量赋值用 SET ,代表一个对象参与运算。静态变量在过程结束后不会释放,而动态变量则会释放。
3.对变量和常量赋值的区别是什么?
常量赋值必须在过程内部,且为具体的值
4.为什么需要定义公共变量?
如果一个变量需要所有过程都能调用,则需要定义公共变量
7楼
kcxs
客城小生 第10课作业:

1.如果需要一个AA,在当前过程中才能调用,需要一个变量BB,可当前模块中的所有过程都可以调用,还需要一个变量CC,在所有模块都可以调用,应如何声明这三个变量?
答:Public CC As String
Private BB As String
Dim AA As String

2.简述如何释放数据变量和对象变量,它们的区别是什么。以及释放静态变量和动态变量的区别是什么。
答:VBA提供的手工销毁变量的方法是End语句。End Sub语句仅仅用于终止当前过程,是过程结束的标志,不可以放在过程中间。Exit Sub语句也表示终止当前过程,不过它可以放在过程中任意位置,可以随心所欲地在任何需要的时候终止过程。End语句和Exit Sub的功能相近,都可以在中途终止过程,不过End多一个释放所有变量的功能。使用End语句后,当前工程中所有变量都被释放掉,所以在Exit Sub和End两者之间要根据需求选择。
过程级的动态变量过程结束时自动释放变量的值,静态变量使用End语句释放。

3.对变量和常量赋值的区别是什么?
答:调用一切未知的值都需要用到变量,在VBA中变量有简化录入工作、提升程序效率的作用。常量就是在程序执行过程中永远不变的量;常量的用途主要体现在简化输入和方便识别。

4.为什么需要定义公共变量?
答:Public所声明的变量可以跨模块调用。
8楼
Erik_16888
364646658 笑看江湖
1、如果需要一个AA,在当前过程中才能调用,需要一个变量BB,可当前模块中的所有过程都可以调用,还需要一个变量CC,在所有模块都可以调用,应如何声明这三个变量?
答:定义AA,在过程中定义;定义BB,在标准模块的最顶部定义,在该模块中所有过程之前,用dim或private;定义CC,在模块的顶部定义,用public定义
2、简述如何释放数据变量和对象变量,它们的区别是什么。以及释放静态变量和动态变量的区别是什么。
答:数组:erase 数组名
字符串:变量名=""
引用的对象:set 对象名=nothing
区别:动态变量是指过程执行时可以改变其值,但过程执行完毕后会自动释放的变量。过程中利用Dim、Public和Private声明的变量都是动态变量;静态变量是过程执行时可以改变其值,但过程执行完毕后仍然保留其值的变量。只要通常Excel未关闭,静态变量的值不会自动释放。声明静态变量使用Static语句,只能在过程中定义,不能定义为模块级变量
3、对变量和常量赋值的区别是什么?
答:对变量赋值用set,对常量赋值用let,而let可以省略
4、为什么需要定义公共变量?
答:公共变量是所有的模块中都有效,因为如果所有过程中都需要使用一个相同名称的值,或者变量,例如公司名称,每个过程都需要用公司名称,那么可以把它设置公有变量。
9楼
一点点
糊啦啦

1.如果需要一个AA,在当前过程中才能调用,需要一个变量BB,可当前模块中的所有过程都可以调用,还需要一个变量CC,在所有模块都可以调用,应如何声明这三个变量?
Sub 当前过程()
Dim aa  as long ‘或static声明
End sub

Dim bb as long ‘或private声明
Sub 当前模块()
End sub
Public cc as long
Sub 所有模块()
End sub

2.简述如何释放数据变量和对象变量,它们的区别是什么。以及释放静态变量和动态变量的区别是什么。
数据变量的释放可以用end 语句,对象变量的释放需要用set 语句对其赋值nothing
例如 set  rng=nothing,当然对象变量的释放也可以用end语句。动态变量时在过程结束时自动释放,而静态变量的是在模块复位或重新启动时才释放。

3.对变量和常量赋值的区别是什么?
变量可以设置为过程级 当前模块级 公共模块级 声明变量后再赋值
常量只能声明过程级或公共模块级变量并且是在声明类型的同时就赋值

4.为什么需要定义公共变量?
公共变量是定义在过程顶部的,可以让任何一个模块调用运算,通用性强,并且可以分配存储空间
10楼
ynzsvt
ynzsvt:浙江上海-依汎
第十课.zip
11楼
llh505
1、AA是过程级变量,在过程中使用dim语句声明;dim  AA as 数据类型
BB是模块级变量,在模块顶部使用dim语句声明;dim BB as 数据类型
CC是公有变量,在模块顶部使用public语句声明;public CC as 数据 类型
2、数据变量释放:过程级变量随着过程运行结束自动释放数据变量,也可以通过end手动释放变量;
对象变量释放:Set  对象名=Nothing
数据变量赋值用let(可省略),对象变量赋值只能用set进行赋值。
动态变量的释放可以随着过程、模块及工作薄关闭等自动释放,静态变量不自动释放其值,都可以通过end手工释放所有值 。
3、对变量赋值需要在声明变量类型后,另起一行赋值。使用let或set语句赋值
声明常量可以使用Const语句,变量名后直接跟常量值
4、有些变量需要在不同过程、不同模块或不同工作薄中调用同一个变量,所以需要定义公共变量。
12楼
水云寒
1  public CC as string
   dim BB as string   或者  private BB as string
   sub one()
       dim AA as string
   
   ...
   end sub
2动态变量当前过程结束后自动释放,静态变量需要 end语句释放
对象变量可以用set 名称 = nothing来还原,数据变量和对象变量都能用exit sub  、 end sub来释放
3 常量为程序执行过程中永远不变的量,如 p=3.1415, e=2.7183  "我"等。变量为需要根据不同环境改变的,如 a=a+1    b=b+1   c=a+b   abc均为变量 常量用const赋值
4能多个模块或过程同时使用一个变量,简化运算,有的需要后面的过程调用前一过程的数据


赚奶粉钱
13楼
chenlifeng
既然是免费,也是兴趣所在,为增添楼主最大化的魄力,小子建议:
   本主题下的帖子,可否均可见,让没有时间参加学习但也想进步的个人通过跟帖来学习?谢谢!
14楼
lb425319789
群:VBA入门免费教学群
1
dim 过程级变量AA
private 私有变量BB
public 公有变量CC
2.
数据对象用end语句释放,对象变量可以用set赋值为Nothing,也可以用end语句。数据对象变量只要过程或模块不结束,就永远不会释放,对象变量在结束后不会自动释放,需要人工释放那。
动态变量在过程结束时自动释放,静态变量在结束后将数据保留,不释放。
3.
对变量在程序执行中可以进行变化,常量在程序执行中则不会改变。
4.
当许多模块都要调用同一个变量的时候,如果给每个模块单独定义变量,会浪费内存空间,所以需要定义一个公共变量,给所有的模块使用。

罗老师,本人新手,若有错误的地方请指正,另外今后excel的VBA上有些问题,请不吝赐教。
15楼
朱朱无双
1.如果需要一个AA,在当前过程中才能调用,需要一个变量BB,可当前模块中的所有过程都可以调用,还需要一个变量CC,在所有模块都可以调用,应如何声明这三个变量?
答:Dim AA且应在当前过程内部进行声明
      Dim BB且应在当前模块内,所有过程和函数外进行声明。
      Public CC应在任意模块内,所有过程和函数外进行声明。
2.简述如何释放数据变量和对象变量,它们的区别是什么。以及释放静态变量和动态变量的区别是什么。
答:释放对象变量要用Set 对象变量 = Nothing。动态变量在过程运行结束后就自动释放了,而静态变量的值会一直保存在内存中,释放时必须手动进行。
3.对变量和常量赋值的区别是什么?
徐:对常量赋值需要加Const关键了,且赋值后值不能再改变。
4.为什么需要定义公共变量?
答:当某一变量在多个过程中都要被访问时,就应该定义成公共变量。
16楼
阮元2
javascript:;
第十课作业(=兴华).zip
17楼
LYS
第十课作业
1.如果需要一个AA,在当前过程中才能调用,需要一个变量BB,可当前模块中的所有过程都可以调用,还需要一个变量CC,在所有模块都可以调用,应如何声明这三个变量?
答:  Public 模块级公有变量_cc As String
Private 模块级私有变量_BB As String
Dim 模块级私有变量_AA As String
2.简述如何释放数据变量和对象变量,它们的区别是什么。以及释放静态变量和动态变量的区别是什么。
答: 对多个公有变量赋值后变量会占用较多的内存空间,释放变量其实就是清空它们所占的空间,将这些资源投入到新工作中去。
模块级变量的生命周期较长,如果手工删除模块,那么在删除模块时会自动释放变量的值,如果不删除模块,那么只有关闭工作簿时才释放变量的值
静态变量,它只能声明过程级变量,所以Static语句不能放置在模块顶部。
如果需要释放对象变量,即把已初始化的对象变量还原为Nothing,
3.对变量和常量赋值的区别是什么?
答: 变量不可以直接赋值,需要重起一行再赋值
常量赋值只能用字符串或者数学表达式,不能是引用
4.为什么需要定义公共变量?
答: 顾名思义,公共就是大家的,公共变量就是一个大家都可以用的变量.一个工作簿中定义了一个过程,另一个工作簿中可以调用这个过程,这是分享,也是简化工作
那么过程就要定义成公共的过程.
例如A过程对变量赋值100
在B过程中用变量参与运算,那么此时只能定义公共变量,否则B过程无法调用变量的值

18楼
LYS
提交第十课作业
第十课作业.zip
19楼
miantiao1
罗老师,作业如下,请检阅。谢谢

1.如果需要一个AA,在当前过程中才能调用,需要一个变量BB,可当前模块中的所有过程都可以调用,还需要一个变量CC,在所有模块都可以调用,应如何声明这三个变量?
答案:在当前过程中使用 Dim AA as ()定义变量AA
              在当前模块的顶部使用  Private BB As () 定义变量BB
              在当前模块的顶部使用  Public CC As () 定义变量CC

2.简述如何释放数据变量和对象变量,它们的区别是什么。以及释放静态变量和动态变量的区别是什么。
答案:数据变量释放:   数据变量=“”
              对象变量释放:  set 对象变量=nothing

3.对变量和常量赋值的区别是什么?
答案: 随时可以对变量进行赋值并且可以随时更改变量的值
               常量赋值完成后一般不允许再修改常量的值

4.为什么需要定义公共变量?
答案: 有些时候我们需要在某一个过程中引用其他过程中的变量,就需要定义公共变量
20楼
我是独行侠
学生QQ:308128924,网名:独行侠,在VBA免费入门教学群,QQ:30729794

第十课 作业
1.        如果需要一个AA,在当前过程中才能调用,需要一个变量BB,可当前模块中的所有过程都可以调用,还需要一个变量CC,在所有模块都可以调用,应如何声明这三个变量?
答:
变量AA,在当前过程中才能调用,声明方式: Dim
变量BB,可当前模块中的所有过程都可以调用,声明方式: Private
变量CC,在所有模块都可以调用,声明方式: Public


2.简述如何释放数据变量和对象变量,它们的区别是什么。以及释放静态变量和动态变量的区别是什么。
答:
一、如果需要释放对象变量,即把已初始化的对象变量还原为Nothing,那么可以使用Set语句对其赋值Nothing,代码如下:Set Rng=Nothing
当然,如果要批量释放所有对象变量的值还是用End语句较快捷。
二、所有过程级变量都是动态变量,过程级的动态变量有一个鲜明的特点——过程结束时自动释放变量的值。
三、当反复执行过程时动态变量的值自动消失,而静态变量的值保留不变。

3.对变量和常量赋值的区别是什么?
答:
一、对数据变量赋值直接使用等号
二、声明常量可以使用Const语句来完成。
Const的语法如下:
[Public | Private] Const constname [As type] = expression

4.为什么需要定义公共变量?
答:
  假如在某个过程中定义了一个变量,由于是在过程中定义的,所以只有当前过程可以调用,其它过程是不能获取这个变量的值。想要其它过程也能调用这个变量,就需要定义公共变量
21楼
amylee
漠沙如雪2013,提交第十课作业。请老师指正!
第十课作业.rar
22楼
无方
交作业
第十课作业-天翔.zip
23楼
暗香盈袖
第十课作业
第十课作业-暗香盈袖.zip
24楼
静思雨
1、
Dim AA [As 数据类型]
Private BB [As 数据类型]
Public CC [As 数据类型]

2、
1)、可以对变量直接赋值为零释放数据变量,set 变量名=nothing释放对象变量,区别是0≠nothing
2)、静态变量是一直存放在内存中没有被释放直到程序关闭时才释放并且一直保留值不变。
     动态变量是变量在生存周期这过程中被调用、执行,调用结束后变量即从内存中释放。

3、
变量是在程序运行过程中可以随时改变值的量,对变量赋值时要定义正确的数据类型。
常量是在程序运行过程中一直保持不变的量,主要用于取一个固定不变的值,再参与过程。

4、
定义了公共变量可以在其他模块过程中也调用该变量,共享资源。
25楼
bobowuji8858
bobo无极
VBA免费培训第十次作业.rar
26楼
ldc6213
QQ:171774787

1、答:在过程内用dim 定义 AA
        在当前模块的声明部分 用 dim 或private 定义 BB
        在任一模块的声明部分 用public 定义 CC
2、释放数据变量用 end
   释放对象变量 用set语句对 对象变量赋值为Nothing
   释放对象变量后仍占有内存空间,释放数据变量后不占有内存空间
   
   动态变量
        过程级的动态变量会在过程执行结束时自动释放,
        模块级的动态变量可用END 手动进行释放,或在手工删除模块时被释放
   静态变量的释放只能 用END 手动进行释放
3、对常量赋值只能是一次
   对变量赋值可以是任意多次

4、因为只有公共变量才能使:一个过程中的变量可以在另一个过程中参与运算,或一个工作薄中的变量可以另一个工作薄中参与运算。
27楼
kouhogliang
1.如果需要一个AA,在当前过程中才能调用,需要一个变量BB,可当前模块中的所有过程都可以调用,还需要一个变量CC,在所有模块都可以调用,应如何声明这三个变量?
Public CC As String
Private BB As String
Dim AA AS

2.简述如何释放数据变量和对象变量,它们的区别是什么。以及释放静态变量和动态变量的区别是什么。
批量释放所有对象变量的值还是用End语句较快捷,
3.对变量和常量赋值的区别是什么?
Static语句声明的变量属于静态变量,它只能声明过程级变量,定义动态变量采用Public、Private和Dim三种方式
4.为什么需要定义公共变量?
一个工作簿中定义了一个过程
另一个工作簿中可以调用这个过程
这是分享,也是简化工作
那么过程就要定义成公共的过程

q群昵称:炼
28楼
恋殇
罗老师 :
             你好, 这是我的作业 ,我的群名片是《湖南-殇》 ,如果有什么问题,还请多多指出。
            谢谢!
VBA作业——(湖南—殇).zip
29楼
杨_堃

VBA中的声明语句包括Dim、Public、Private。
 使用 Public 语句可以声明公共模块级别变量(公有变量)  
  公有变量可用于工程中的任何过程。如果公有变量是声明于标准模块或是类模块中,则它也可以被任何引用到此公有变量所属工程的工程中使用。
 使用 Private 语句可以声明私有的模块级别变量(私有变量)
  Private strName As String.
  私有变量只可使用于同一模块中的过程。
 使用Dim语句同样可以声明私有的模块级别变量(私有变量)
Dim strName As String.
 本题可以AA用dim声明,BB用Public声明,CC用Private声明

释放变量:变量=""或者变量=empty。

常量的作用是 当你的数据在程序运行时是不需要改变的时候,那么就定义为常量。
例如:π=3.1415 这个是固定的,就定义为conts P=3.1415
conts a = 5 ' 这个a是常量,不能再改变,如果再程序中使用 类似 a = 6 改变a值的 都是错误的
dim a as interger
a =5'这里 a是变量,赋值了 5,再后续还可以改变
a = 6‘可以随便变

经常需要在不同的窗体间共享数据,所以要定义公共变量。

 
30楼
NULL
1.过程中 dim aa, 模块顶部 dim/private bb, public cc
2.EXIT SUB  中途退出当前过程,仅释放过程变量
  使用end,退出所有过程,包括主过程,并释放工程内所有变量
  end sub 过程结束, 释放过程级的变量.
   释放对象变量,还可以使用 set rng =nothing 的方式.

  静态变量在工作簿关闭后才会释放,动态过程级变量在过程结束时释放.
3.常量赋值不能函数,引用等
4,多个过程处理有时需要同时处理一个过程.
31楼
csppglass
1.如果需要一个AA,在当前过程中才能调用,需要一个变量BB,可当前模块中的所有过程都可以调用,还需要一个变量CC,在所有模块都可以调用,应如何声明这三个变量?
2.简述如何释放数据变量和对象变量,它们的区别是什么。以及释放静态变量和动态变量的区别是什么。
3.对变量和常量赋值的区别是什么?
4.为什么需要定义公共变量?

答: 在当前过程中定义 dim aa,在当前模块中的顶端 private 或是dim 定义,在模块顶端public cc

2.答:释放对象变量可以用set 对象变量=nothing ,或是用end 结束
     释放数据变量可以用exit sub ,end 。
     静态变量要用end 结束才能释放,而动太变量在过程结束后就自动释放。
3.答:对像变量赋值要用set,常量赋值用const。

4.答:为了便于让所有模块都能调用此变量。
                                         江苏0基答~
32楼
老练的祭司
1.如果需要一个AA,在当前过程中才能调用,需要一个变量BB,可当前模块中的所有过程都可以调用,还需要一个变量CC,在所有模块都可以调用,应如何声明这三个变量?

     Dim 过程级变量_AA As String   Private 模块级私有变量_BB As String   Public 模块级公有变量_cc As String

2.简述如何释放数据变量和对象变量,它们的区别是什么。以及释放静态变量和动态变量的区别是什么。

     释放数据变量可是使用Exit Sub 和 End语句;释放对象变量还可以使用Is运算符
     动态变量过程结束,自动释放;静态变量会继续保留以待下次程序调用

3.对变量和常量赋值的区别是什么?
  
      对变量赋值使用set语句如 set aa = range("a1");常量可以直接赋值如 aa = 3.14159,且不能引用

4.为什么需要定义公共变量?

  简化操作,调用方便
33楼
bawu
交作业
第10课作业 武武 .rar
34楼
gaoshuichang1
第十课作业.zip
在“VBA入门免费教学群”的QQ号是“顺眼了(80938160)”
35楼
zjyxp
谢谢罗老师
36楼
啈冨□專属
1:
dim AA as String
Private BB as string
Public CC as string
2:
2.1:采用end语句
2.2:
Static语句声明的变量属于静态变量,它只能声明过程级变量,
所以Static语句不能放置在模块顶部。在整个代码运行期间都能保留使用 Static 语句声明的变量的值。

释放静态变量和动态变量的区别是什么?
:静态变量属于过程级,代码运行完后自动释放变量所占的的内存空间。动态变量属于模块级
,如不释放,即使代码运行完也驻留在内存中,如需要释放需要在过程中使用END语句。

3:变量是可以在过程中变化的,常量是固定不便的,往往只是为了方便输入而定义的。

4:方便在各个模块中直接调用,不需要重新定义。
37楼
twozisan
QQ ID=板桥-大刘
10課作業QQ=板桥-大刘.rar
38楼
winnief3

名 广东-cx 第十次作业.zip
39楼
纵鹤擒龙水中月
1.如果需要一个AA,在当前过程中才能调用,需要一个变量BB,可当前模块中的所有过程都可以调用,还需要一个变量CC,在所有模块都可以调用,应如何声明这三个变量?
变量AA放在一个过程中,DIM AA AS LONG ;变量BB放在一个模块所有过程上面,PRIVATE BB AS LONG ;变量CC放在任一个模块所有过程上面,PUBLIC CC AS LONG
2.简述如何释放数据变量和对象变量,它们的区别是什么。以及释放静态变量和动态变量的区别是什么。
对象变量是代表一个对象,不是内存中的一个值,而数据变量代表内存中一个值。对象变量用SET 对象变量=NOTHING进行释放,数据变量=""进行进行释放
3.对变量和常量赋值的区别是什么?
常量赋值用Const进行定义声明。变量赋值用Dim等进行定义声明
4.为什么需要定义公共变量?
定义一个公共变量,可全局使用。
40楼
某年某月某日
1.        如果需要一个AA,在当前过程中才能调用,需要一个变量BB,可当前模块中的所有过程都可以调用,还需要一个变量CC,在所有模块都可以调用,应如何声明这三个变量?
答:在当前过程中调用AA,应该在过程中申明dim AA as 数据类型;在当前模块中申明BB,在所有过程中都可以调用,应该在模块顶部申明dim BB as 数据类型,注意它和上者的区别,虽然同是dim的表达式,但一个是过程内部申明,一个是在模块顶部申明。如需在所有模块都调用CC,应该在模块顶部申明Public  CC  as 数据类型。

2.简述如何释放数据变量和对象变量,它们的区别是什么。以及释放静态变量和动态变量的区别是什么。
答:释放数据变量可以用end sub和exit sub来终止,只是exit sub可以放在过程中的任意位置,而end sub是过程结束的标志,不能放在过程中间。释放对象变量用set 对象变量=nothing,它可以把初始化的对象变量还原为Nothing,当然如果要批量释放变量还是得用end语句;
释放静态变量和动态变量的主要区别在于多次执行过程时,动态变量的值会自动消失,而静态变量的值会保留下来。

3.对变量和常量赋值的区别是什么?
答:对常量赋值用comst语法,如下:Public | Private] Const constname [As type] = expression,对常量赋值,是为了更加便捷方便的管理数据,申明的变量值在参与后续的计算中不会改变;而变量赋值用dim语法,申明的变量值在后续计算中是不断变化的。

4.为什么需要定义公共变量?
答:公共变量是定语全局变量的,它是作用于整个模块级的,有时候在处理数据时,需要同时调用多个变量时,这时申明公共变量就显得简便有效率。

                                         群名称:某某某-VBA
                                           2013年4月6日
41楼
吸板球
湖南-吸板球的作业:1.        如果需要一个AA,在当前过程中才能调用,需要一个变量BB,可当前模块中的所有过程都可以调用,还需要一个变量CC,在所有模块都可以调用,应如何声明这三个变量?
 答:AA用dim声明,BB在模块的顶部用Private声明,CC在模块的顶部用Public声明

2.简述如何释放数据变量和对象变量,它们的区别是什么。以及释放静态变量和动态变量的区别是什么。
答:需要释放对象变量,即把已初始化的对象变量还原为Nothing,可以使用Set语句对其赋值Nothing,如:Set 变量=Nothing
如果要批量释放所有对象变量的值用End语句

3.对变量和常量赋值的区别是什么?
答:常量的作用是 当你的数据在程序运行时是不需要改变的时候,那么就定义为常量。
例如:π=3.1415 这个是固定的,就定义为conts P=3.1415
conts a = 1 ' 这个a是常量,不能再改变,如果再程序中改变a值的 都是错误的
4.为什么需要定义公共变量?
答:经常需要在不同的窗体间共享数据,所以要定义公共变量。
42楼
tchsong
1.        如果需要一个AA,在当前过程中才能调用,需要一个变量BB,可当前模块中的所有过程都可以调用,还需要一个变量CC,在所有模块都可以调用,应如何声明这三个变量?
答:dim aa 在过程内部
Dim bb 在模块顶部
Public cc 在模块顶部
2.简述如何释放数据变量和对象变量,它们的区别是什么。以及释放静态变量和动态变量的区别是什么。
答:简述如何释放数据变量和对象变量,它们的区别是什么:
End   ‘释放一切,如果要批量释放所有对象变量的值还是用End语句较快捷
对数据变量赋值采用Let,可以省略Let直接赋值
对象变量:set rng is nothing
数据变量:r=0  r=“”
可以使用TypeName函数判断变量是否已经初始化。
以及释放静态变量和动态变量的区别是什么。
动态变量是指每次被过程调用都重新初始化的变量。而静态变量是在初始化后,下一次调用时仍保留上次值的变量。
static声明静态变量,dim声明动态变量
static声明的变量一直保持其值,dim语句声明的变量在过程结束时释放其值


3.对变量和常量赋值的区别是什么?
常量就是在程序执行过程中永远不变的量。
对变量不可以直接赋值,需要重起一行再赋值
声明常量可以使用Const语句来完成。
Const 圆周率 = 3.1415926
常量为变量的一种特例,用Const定义,且定义时赋值,程序中不能改变值,作用域也如同变量作用域。
声明变量后在赋值不可以再一行:Dim 圆=1(错误)

Dim 圆
圆=1(正确)
4.为什么需要定义公共变量?
简化工作,变量的作用域是公共的,谁都可以调用。
43楼
韩搏
1.
Dim BB
Public CC
Sub one()
Dim AA
End Sub

2.
释放对象变量,可以使用Set语句对其赋值Nothing
释放数据变量,可以使用End语句

3.对常量赋值需要用const关键字
44楼
cxleaf
交作业
第10课作业(cxleaf).zip
45楼
玉丫头
1.如果需要一个AA,在当前过程中才能调用;
DIM AA        放在过程内部
需要一个变量BB,可当前模块中的所有过程都可以调用;
DIM BB        放在模块顶部
还需要一个变量CC,在所有模块都可以调用,应如何声明这三个变量?
PUBLIC CC        放在模块顶部
2.简述如何释放数据变量和对象变量,它们的区别是什么。
释放数据变量用END语句,释放对象变量用SET语句,Set 对象变量=Nothing
以及释放静态变量和动态变量的区别是什么。
过程级的动态变量在过程结束后会自动释放,静态变量需要使用END语句释放。
3.对变量和常量赋值的区别是什么?
都需要先声明,但声明的语句不一样;对对象变量赋值要使用SET语句。对数据变量和常量赋值直接用“=”。
4.为什么需要定义公共变量?
在不同的模块中都可以调用。
46楼
一片叶子
  1. @小鱼
  2. 1.        如果需要一个AA,在当前过程中才能调用,需要一个变量BB,可当前模块中的所有过程都可以调用,还需要一个变量CC,在所有模块都可以调用,应如何声明这三个变量?
  3. 答:Dim 过程级级私有变量_AA As range
  4.     Private 模块级私有变量_BB As range
  5.    Public 模块级公有变量_CC As range
  6. 2.简述如何释放数据变量和对象变量,它们的区别是什么。以及释放静态变量和动态变量的区别是什么。
  7. 答: 数据变量生命周期最短,当执行完过程后变量的值就自动消失。模块级变量的生命周期较长,如果手工删除模块,那么在删除模块时会自动释放变量的值,如果不删除模块,那么只有关闭工作簿时才释放变量的值。所有过程级变量都是动态变量,过程级的动态变量有一个鲜明的特点——过程结束时自动释放变量的值。静态变量,它只能声明过程级变量,这个过程被关闭时,它才被释放。

  8. 3.对变量和常量赋值的区别是什么?
  9. 答:常量赋值通常都是固定不变的。变量赋值是动态区域内的值。
  10. 4.为什么需要定义公共变量?
  11. 答:公共变量,所有模块都可以调用的变量,可以不用重复声明变量。
47楼
冰淇林的冬天
1.        如果需要一个AA,在当前过程中才能调用,需要一个变量BB,可当前模块中的所有过程都可以调用,还需要一个变量CC,在所有模块都可以调用,应如何声明这三个变量?
DIM   AA   AS   **    位置过程中间
DIM   BB   AS   **    位置,模块顶部
Public  CC   as   **     位置,模块顶部

2.        简述如何释放数据变量和对象变量,它们的区别是什么。以及释放静态变量和动态变量的区别是什么?
释放数据变量使用 end
释放对象变量可以使用end (变量名称)或set 变量名称 = nothing
End 可以一次释放所有变量
SET语句只针对对象变量,且一次只能释放一个

3.        对变量和常量赋值的区别是什么?
对变量赋值可以节省内存,可以根据用户的选择获取不同的值
对常量赋值可以简化输入,方便识别

4.        为什么需要定义公共变量?
方便变量跨模块使
48楼
hunt
hehex 第十课作业(因工作加班原因,缺课。课后看讲义自学后完成作业)

1.        如果需要一个AA,在当前过程中才能调用,需要一个变量BB,可当前模块中的所有过程都可以调用,还需要一个变量CC,在所有模块都可以调用,应如何声明这三个变量?
答:在当前过程中使用Dim AA 来定义过程级变量。在当前模块中,所有过程之外使用
Private BB 或者 Dim BB 定义模块级私有变量。在所有过程之外使用 Public CC 定义公共变量。


2.简述如何释放数据变量和对象变量,它们的区别是什么。以及释放静态变量和动态变量的区别是什么。

答:1)在过程中使用语句End 释放所有数据变量。使用Set Object = Nothing 来释放对象变量。数据变量和对象变量的区别在于,基本数据变量保存变量的值,而对象变量实际上是该对象的引用。在内存上完全不同,释放对象变量本质上是将该对象的引用指向空对象。

2)假设都是过程级的静态变量和动态变量来作答:静态变量会在整个程序结束时才会释放,动态变量在离开定义它的作用域(模块)时,就会被系统自动释放。如果以内存分析方法看本质,静态变量和动态变量的内存结构不同。

3.对变量和常量赋值的区别是什么
答: 常量要使用Const 关键字进行说明,而且在声明的同时要被赋予处值。以后在程序中不得改变。而变量如果使用显式声明的话,是不能在Dim 等语句后直接赋初值的,而且顾名思义变量是可以随着程序的进行而改变它的值。


4.为什么需要定义公共变量?
答:公共变量主要用于窗体和模块之间,模块和模块之间,甚至事件代码与窗体、模块之间所需共用的变量,进行数值或引用的传递等等。
49楼
lene
1.        如果需要一个AA,在当前过程中才能调用,需要一个变量BB,可当前模块中的所有过程都可以调用,还需要一个变量CC,在所有模块都可以调用,应如何声明这三个变量?
Public CC as string
Private BB as string
Sub test()
Dim AA as string
End sub


2.简述如何释放数据变量和对象变量,它们的区别是什么。以及释放静态变量和动态变量的区别是什么。
释放数据变量:在过程的末尾处用“end”语句
释放对象变量:使用set语句对其赋值nothing   Set Rng=Nothing 或者用end语句
动态变量只要当其所在的过程结束便被释放掉了
而静态变量只有使用end语句才能释放

3、对变量和常量赋值的区别是什么?
对常量赋值可以在声明语句中直接赋值;对变量赋值要另起一行
4.为什么需要定义公共变量?
私有变量(过程级和模块级)在当前过程或模块结束了会自动释放掉,当在下一个过程或另一个模块中就无法调用,这时就需要定义公共变量,实现变量的调用
50楼
paoge
单肩包时代


1.如果需要一个AA,在当前过程中才能调用,需要一个变量BB,可当前模块中的所有过程都可以调用,还需要一个变量CC,在所有模块都可以调用,应如何声明这三个变量?
   答:Dim  AA  as  String
           Private BB as string
           Public CC as string           
2.简述如何释放数据变量和对象变量,它们的区别是什么。以及释放静态变量和动态变量的区别是什么。
     答:释放数据变量和对象变量的区别是:他们都可以用end语句来释放。对象变量可以用set语句将其赋值为Noing来释放。
3.对变量和常量赋值的区别是什么?
    答:常量用Const声明,只能在模块顶部声明。对常量赋值后其值是不变的。
        变量的声明方式有l四种:Dim,Private,Pulic,Static。Pulic声明一个模块级公有变量,Dim和Private声明模块级私有变量,Static声明静态变量。变量的声明根据声明方式不同可以在模块顶部声明,也可以在模块中声明。对过程级变量赋值后通常情况下,过程结束时会自动释放变量值。但如果用了Static语句声明后,其值会保留。

4.为什么需要定义公共变量?
   答:对一些要反复调用的变量将其定义为公共变量,既可以减少程序的长度,增加程序执行的速度。也可以节约内存空间,让程序执行得更流畅。

51楼
hjsky
四川-幺幺的作业
第十课作业.rar
52楼
健康快乐123
006-水上漂123
1.如果需要一个AA,在当前过程中才能调用,需要一个变量BB,可当前模块中的所有过程都可以调用,还需要一个变量CC,在所有模块都可以调用,应如何声明这三个变量?
在过程中用dim aa as 数据类型 ,声明一个过程级变量,在当前过程中才能调用。
在模块的顶部用private bb as 数据类型,声明一个模块级私有变量;或用dim as 数据类型,声明一个模块级私有变量,可当前模块中的所有过程都可以使用。
在模块顶部用public cc as 数据类型,声明一个模块级公有变量,所有模块都可以用。
2.简述如何释放数据变量和对象变量,它们的区别是什么。以及释放静态变量和动态变量的区别是什么。
数据变量和对象变量都可以用nothing进行释放,释放数据变量用,变量=nothing
释放对象变量用set 对象变量=nothing。另外可以用end语句释放,批量释放所有变量可以用end语句。
静态变量只能人工释放,动态变量可以自动释放也可以人工释放。
3.对变量和常量赋值的区别是什么?
对变量赋值要有set,对常量赋值用let,可以省略
4.为什么需要定义公共变量?
因为工作的需要。
可以简化工作,分享。
53楼
天天向上up
-ID:879601550(湖南-布吉岛)


1. AA-过程级变量,用Dim或者Static声明;
  BB-模块级变量,用Dim或者Private声明;
  CC-全局变量,在模块前用Public声明。


2.Dim是声明数据变量并分配存储空间,Set是将对象引用赋给变量或属性;因此释放对象变量要先还原属性值,set obj=nothing 。
动态变量在过程执行完毕后会自动释放;静态(Static)变量在过程执行完毕后仍然保留其值的变量,直到程序关闭。


3.常量用Const语句声明,必须声明时赋值,且作用域内不能改变值;变量不能在声明时赋值。


4.将项目级的变量声明为公共变量Public,可以各个模块使用。
54楼
转角爱
不坏 635731146
作业.rar
55楼
天空的雨
免费听课群-天空-第10课作业.rar
56楼
nocturne
谢谢
10课作业-nocturne.zip
57楼
eric2345
入门群 江苏-eric 第十课作业
江苏-eric - 第10课 课后作业.rar
58楼
zjylsjwz
学员:蓝雨,第十课作业交上,辛苦罗老师了。
第十课作业(学员:蓝雨).doc.rar
59楼
498429525
excel 混混
1.如果需要一个AA,在当前过程中才能调用,需要一个变量BB,可当前模块中的所有过程都可以调用,还需要一个变量CC,在所有模块都可以调用,应如何声明这三个变量?
       Public cc      
      Private bb
  
   sub dim_show()
          dim aa
      end sub
   
2.简述如何释放数据变量和对象变量,它们的区别是什么。以及释放静态变量和动态变量的区别是什么。
   end '可以释放任何变量
   set 变量=nothing '用于释放对象变量
   数据变量释放后,内存收回。对象变量只是把变量指向改变为无指向
   静态变量必须通过END或者关闭工作薄以释放,而动态变量在过程中,过程结束就已被释放
   
3.对变量和常量赋值的区别是什么?
   1,赋值方向不同,变量=值即可赋值,常量要加Const关键字。2、符值的范围不同,变量可以是表达式和引用。而常数只单是用于指定文字、其他常数,或由除Is之外的任意算术操作符和逻辑操作符所构成的任意组合
4.为什么需要定义公共变量?
    公共变量是在所有模块都能调用的变量,而且其值不会在过程结束之后被释放。在特定的程序要求下,申明公共变量有利于保护过程变量的值,并且将值在各过程中进行传递。
   
60楼
黄金眼
QQ号:312155343

第十课作业.zip
61楼
lzyamo3057
熊猫
第十课作业:

1、dim AA, 并将代码放在过程内部,在当前过程中才能调用;
private BB ,dim BB,将申明语句放在模块顶部,当前模块中的所有过程都可以调用;
public CC,放在模块顶部,在所有模块都可以调用。
2、首先,定义为过程级别的动态变量在过程结束后,都将自动释放变量的值。其次,对模块级的变量,可在过程中使用end 语句释放,当对对象变量通过使用Set语句赋值后,对对象变量的释放还可以通过:set 对象=nothing语句来释放对象变量。
   静态变量只能声明为过程级变量,静态变量在过程结束时,是不能得以释放。而过程级别的动态变量,在过程结束后,可自行释放。想释放静态变量,也可通过end 语句来释放。
3、对变量的赋值,可通过let与set 语句来赋值。对常量的可用const语句来给它赋值。
4、当模块间,过程间需要相互调用不同模块或过程中的变量的时候,需要定义公共变量。
62楼
Must敬
Must敬第十课作业.rar
Must敬的作业
  第一次用这个不知道传成功没有
63楼
无言的人
无言的人
  1. 1.如果需要一个AA,在当前过程中才能调用,需要一个变量BB,可当前模块中的所有过程都可以调用,还需要一个变量CC,在所有模块都可以调用,应如何声明这三个变量?
  2. 答:AA 直接在当前过程中使用 Dim 声明即可;BB在需要在使用模块的顶部使用Private 或 Dim 声明即可;CC同样需要在使用模块中的顶部声明,但必须使用Public声明才可以在各模块中引用。
  3. 2.简述如何释放数据变量和对象变量,它们的区别是什么。以及释放静态变量和动态变量的区别是什么。
  4. 答:数据变量只需直接用 变量名=”” 或变量名=0 即可释放,对象变量必须采用 Set变量名 = Nothing,在过程中数据变量在过程结束时就自动释放;对象变量则必须采用Set 来释;或则直接使用End 来释放;
  5. 动态变量在过程结束时一般都自动释放了,静态变量则会将变量的延续保留到工作簿关闭或者用End 结束释放。
  6. 3.对变量和常量赋值的区别是什么?
  7. 答:变量用Dim 声明,常量用Const 声明;常量必须采用固定值或固定文字、符号来赋值,不得采用表达式进行赋值,即为不可变的数值。
  8. 4.为什么需要定义公共变量?
  9. 答:定义公共变量可以使得变量的生命周期更长,并与在不同的模块或过程中调用共用的数据。
64楼
Crazywu
群昵称:湖北-Craywu
→→→→→→→→→→→→→—
1.如果需要一个AA,在当前过程中才能调用,需要一个变量BB,可当前模块中的所有过程都可以调用,还需要一个变量CC,在所有模块都可以调用,应如何声明这三个变量?
Dim AA as String
Private BB as String
Public CC as String
2.简述如何释放数据变量和对象变量,它们的区别是什么。以及释放静态变量和动态变量的区别是什么。
数据变量释放采用 end,end sub,exit sub进行释放变量;
对象变量释放采用 set 对象变量=nothing。
静态变量在初始化后一直保持其值,直至该模块复位或重启,
而动态变量在过程结束时自动释放
3.对变量和常量赋值的区别是什么?
声明方式不同,常量采用const进行声明,而变量可以采用public、private、dim进行声明。
4.为什么需要定义公共变量?
因为在模块中,或者是工作薄事件中都需要调用这类变量,故而需要定义公共变量。
65楼
bidededede
56340122.rar
请老师指教
66楼
嗜金饕餮
一、1 . 在过程的顶端中申明 : dim  aa   2 . 在模块的顶端申明 public bb 3. 在thisbook 的顶端中申明:public cc

二两者都可以用 END 语名来释放,对像变量 可以重赋值为nothing

三 变量可以重复赋值 变量的值可以不断的变化 ,而常量的值赋值以后就不会在变了

四 、多过程、多模块中都可以调用,一个过程结束,变量的值不会自动 释放
67楼
caihaiyu
QQ 115934012 海域
1. 在过程内部定义:Dim AA
   在模块开始处定义:Private BB
   在模块开始处定义:Public CC

2. 过程结束后或者使用End释放数据变量。使用SET 对象变量 = nothing来释放对象变量,也可以用END释放对象变量
它们的区别是数据变量需要过程结束后或者使用End才能释放,而对象变量只要把nothing赋予它,就可以释放。
过程级动态变量只要过程一结束就会自动释放,静态变量即使过程结束了,仍然不会释放,只能通过End来释放

3.常量的定义语法为:[Public | Private] Const constname [As type] = expression
与变量的定义不同的是需要在声明常量的时候就给常量赋值,并且expression要为文字、其他常数,或由除Is之外的任意算术操作符和逻辑操作符所构成的任意组合

4. 方便一些通用变量的调用。当一个变量在多个过程或者多个模块中都要用到,则需要定义公共变量,大大提高程序的编写效率以及可读性。
68楼
本人号被盗,
1\ Dim  AA As String
Private  BB As String
Public  CC As String,
2\让变量的值消失包含人工释放变量和自动释放两种方式,而通常所讲的变量的生命周期是指声明变量后到它自动释放值的时间范围。
过程级的动态变量有一个鲜明的特点——过程结束时自动释放变量的值。Static语句声明的变量属于静态变量,它只能声明过程级变量,
所以Static语句不能放置在模块顶部
3\声明常量可以使用Const语句来完成。
Const\Public\
4\ VBA里也经常需要使用公共变量
例如A过程 对变量赋值100
在B过程中用变量参与运算,那么此时只能定义公共变量
否则B过程无法调用变量的值
69楼
本人号被盗,
1\ Dim  AA As String
Private  BB As String
Public  CC As String,
2\让变量的值消失包含人工释放变量和自动释放两种方式,而通常所讲的变量的生命周期是指声明变量后到它自动释放值的时间范围。
过程级的动态变量有一个鲜明的特点——过程结束时自动释放变量的值。Static语句声明的变量属于静态变量,它只能声明过程级变量,
所以Static语句不能放置在模块顶部
3\声明常量可以使用Const语句来完成。
Const\Public\
4\ VBA里也经常需要使用公共变量
例如A过程 对变量赋值100
在B过程中用变量参与运算,那么此时只能定义公共变量
否则B过程无法调用变量的值
249229293
70楼
本人号被盗,
1\ Dim  AA As String
Private  BB As String
Public  CC As String,
2\让变量的值消失包含人工释放变量和自动释放两种方式,而通常所讲的变量的生命周期是指声明变量后到它自动释放值的时间范围。
过程级的动态变量有一个鲜明的特点——过程结束时自动释放变量的值。Static语句声明的变量属于静态变量,它只能声明过程级变量,
所以Static语句不能放置在模块顶部
3\声明常量可以使用Const语句来完成。
Const\Public\
4\ VBA里也经常需要使用公共变量
例如A过程 对变量赋值100
在B过程中用变量参与运算,那么此时只能定义公共变量
否则B过程无法调用变量的值
249229293河南蓝天
71楼
黑蔓巴
1.        如果需要一个AA,在当前过程中才能调用,需要一个变量BB,可当前模块中的所有过程都可以调用,还需要一个变量CC,在所有模块都可以调用,应如何声明这三个变量?
Dim aa as string  ‘‘放置于过程内部/ private aa as string   ‘放置于模块顶部 /public cc as string   ‘放置于模块顶部
2.简述如何释放数据变量和对象变量,它们的区别是什么。以及释放静态变量和动态变量的区别是什么。
静态变量和动态变量的最主要的区别就在于:他们分配内存空间的方式不一样。静态变量的内存是在程序开始执时变量就占用了内存,直到程序结束时变量才释放内存.
动态变量是在程序运行到该步的时候分配内存。当离开了该动态变量的作用域的时候,动态变量的内存空间会被释放。
3.对变量和常量赋值的区别是什么?
声明变量有两个作用,一是指定变量的数据类型,二是指定变量的适用范围使用Dim语句可以声明变量。变量赋值之后,还可以再改变它的值。声明常量并设置常量的值,需要使用const语句.常量赋值后,不能对它赋一个新的值。
4.为什么需要定义公共变量?
公共变量可以在应用程序的任何过程中或模块中使用,不论过程和变量是否定义在一个模块。这就使得公共变量在使用中十分灵活,公共变量在程序运行时一直保留在内存中。可以随时调用。
72楼
sharkzhou
随时可以报到吗
73楼
gls08
1、
Sub test()
Dim aa
'…更多代码
End Sub

Dim bb
Sub test()
'…更多代码
End Sub

Public cc
Sub test()
'…更多代码
End Sub
2、            数据变量的释放:过程级的变量在执行完过程后变量的值就自动消失。模块级变量在删除模块时或关闭工作簿时自动释放变量的值。如需手动释放变量,则可以采用end语句。
对象变量的释放:可以使用Set语句对其赋值Nothing,代码如下:Set  Rng=Nothing。如需批量释放所有对象变量的值用End语句。
动态变量的释放:过程结束时自动释放变量的值。
静态变量的释放:如需手动释放变量,则可以采用end语句。
3、     对变量赋值需先声明变量类型再用独立语句对变量赋值。
常量赋值则可以在声明常量用Const语句直接赋值。
4、     有时需要对变量进行共享,如A过程 对变量赋值100,在B过程中用变量参与运算,那么此时只能定义公共变量,否则B过程无法调用变量的值。





74楼
天使ぉ之翼
1.如果需要一个AA,在当前过程中才能调用,需要一个变量BB,可当前模块中的所有过程都可以调用,还需要一个变量CC,在所有模块都可以调用,应如何声明这三个变量?
    DIM AA      PRIVATE BB    PUBLIC  CC

2.简述如何释放数据变量和对象变量,它们的区别是什么。以及释放静态变量和动态变量的区别是什么。
    释放数据变量  直接将数据变量赋值为0
    释放对象变量   SET 对象变量 =nothing
    静态变量在释放的时候会保留值参与下次的运算
    动态变量在释放的时候不会保留值 在下次运算的时候重新运算

3.对变量和常量赋值的区别是什么?
   对变量赋值 用set
   对常量赋值 用const

4.为什么需要定义公共变量?
  定义公共变量  可以在任何模块中都使用公共变量  这样子能够在工作薄中共享这个变量 而不用在每个模块中都重新定义及运算这个公共变量


qq名:天使ぉ之翼  
75楼
Jerrylam
1、 DIM AA AS STRING;PRIVATE BB AS STRING; PUBLIC CC AS STRING
2、过程结束后自动释放变量,人工释放使用END或 Exit Sub
3、常量赋值即在程序执行过程中不发生改变的值或字符串,用CONST 语句
   变量用dim赋值,程序执行过程中会发生变化
4、定义公共变量可以在大程序全局引用,无须重复定义,提高效率。
QQ:66811112 昨夜长风  名   称:VBA入门免费教学群 群   号:30729794
76楼
jsrgsunny
江苏-阳光明媚,QQ:1975225261
1.如果需要一个AA,在当前过程中才能调用,需要一个变量BB,可当前模块中的所有过程都可以调用,还需要一个变量CC,在所有模块都可以调用,应如何声明这三个变量?
Dim 过程级私有变量_AA As String
Private 模块级私有变量_BB As String
Public 模块级公有变量_CC As String

2.简述如何释放数据变量和对象变量,它们的区别是什么。以及释放静态变量和动态变量的区别是什么。
释放数据变量在过程的末尾处用一个“End”语句。
释放对象变量可以使用Set语句对其赋值Nothing,代码如下:
Set Rng=Nothing
释放后动态变量的值自动消失,而静态变量的值保留了下来。

3.对变量和常量赋值的区别是什么?
常量就是在程序执行过程中永远不变的量,可以是字符串、数值、另一常数、任何( 除乘幂与 Is 之外的) 算术运算符或逻辑运算符的组合。
变量是指在程序执行过程中随时可能改变其值的量。变量没有固定的值,可以随时根据需求赋予新值。

4.为什么需要定义公共变量?
Public所声明的公共变量,在所有模块都可以调用的变量,而模块级私有变量则只能当前模块才可以调用。

77楼
jsrgsunny
江苏-阳光明媚,QQ:1975225261
1.如果需要一个AA,在当前过程中才能调用,需要一个变量BB,可当前模块中的所有过程都可以调用,还需要一个变量CC,在所有模块都可以调用,应如何声明这三个变量?
Dim 过程级私有变量_AA As String
Private 模块级私有变量_BB As String
Public 模块级公有变量_CC As String

2.简述如何释放数据变量和对象变量,它们的区别是什么。以及释放静态变量和动态变量的区别是什么。
释放数据变量在过程的末尾处用一个“End”语句。
释放对象变量可以使用Set语句对其赋值Nothing,代码如下:
Set Rng=Nothing
释放后动态变量的值自动消失,而静态变量的值保留了下来。

3.对变量和常量赋值的区别是什么?
常量就是在程序执行过程中永远不变的量,可以是字符串、数值、另一常数、任何( 除乘幂与 Is 之外的) 算术运算符或逻辑运算符的组合。
变量是指在程序执行过程中随时可能改变其值的量。变量没有固定的值,可以随时根据需求赋予新值。

4.为什么需要定义公共变量?
Public所声明的公共变量,在所有模块都可以调用的变量,而模块级私有变量则只能当前模块才可以调用。
78楼
女子无殇
听课ID:女子无殇

题目1:
(1)新建工作簿,使用【Alt+F11】打开VBE窗口;
(2)单击【插入】\【模块】,从而创建“模块1”;
(3)在模块顶部分别采用三种声明方式声明三个变量:
Public cc
Private bb
Dim aa

题目2:
释放数据变量和对象变量可以都可以使用end语句即可,同时释放对象变量还可以使用“set 对象变量=nothing”。静态变量在内存中没有被释放,只有工作簿关闭时才会自动释放,而动态变量是指该变量在生存期仅仅在过程被调用、执行的时间范围,一旦过程调用结束,该变量即从内存中释放,第二次重新调用这个过程时,动态变量又重新创建。

题目3:
常量的作用是当你的数据在程序运行时是不需要改变的时候,那么就定义为常量。
例如常量赋值:π=3.1415 这个是固定的,就定义为conts P=3.1415
conts a = 2 '这个a是常量,不能再改变,如果再程序中使用 类似 a = 3 改变a值的 都是错误的;
再例如变量赋值:dim a as interger
a =8'这里 a是变量,赋值了 8,再后续还可以改变
a = 9‘可以随便变

题目4:
经常需要在不同的模块或者过程中调用相同的变量,定义公共变量后方便各个模块或者过程调用,方便读写,提高内存利用率和运行效率。
79楼
sharkzhou
我忘记这课有没有上

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap