+ -
当前位置:首页 → 问答吧 → 过程级变量与模块级变量

过程级变量与模块级变量

时间:2011-08-02

来源:互联网

Option Explicit

Sub test()
  Dim gc As String
    gc = "过程级变量"
    mc = "模块级变量"
End Sub
这里gc 是过程变量,mc是模块级变量?

作者: parato   发布时间: 2011-08-02

是不是发得太晚了?自己顶一下。

作者: parato   发布时间: 2011-08-03

声明变量
   

通常会使用 Dim 语句来声明变量。一个声明语句可以放到过程中以创建属于过程的级别的变量。或在声明部分可将它放到模块顶部,以创建属于模块级别的变量。

下面的示例创建了变量 strName 并且指定为 String 数据类型。

Dim strName As String

如果该语句出现在过程中,则变量 strName 只可以在此过程中被使用。如果该语句出现在模块的声明部分,则变量 strName 可以被此模块中所有的过程所使用,但是不能被同一工程中不同的模块所含过程来使用。为了使变量可被工程中所有的过程所使用,则在变量前加上 Public 语句

作者: 蓝桥玄霜   发布时间: 2011-08-03

引用:
原帖由 蓝桥玄霜 于 2011-8-3 09:02 发表
声明变量
   

通常会使用 Dim 语句来声明变量。一个声明语句可以放到过程中以创建属于过程的级别的变量。或在声明部分可将它放到模块顶部,以创建属于模块级别的变量。

下面的示例创建了变量 strName 并且指定 ...
了解。但是我摘录的这段程序是来自于某EXCEL书里介绍的程序。有怀疑是不是弄错了。这两个变量应该都是过程变量,mc不是模块级变量。

作者: parato   发布时间: 2011-08-03

有能解答一下的吗?如果MC不是模块级变量,系统为什么不报错?

[ 本帖最后由 parato 于 2011-8-3 10:22 编辑 ]

作者: parato   发布时间: 2011-08-03

有谁能看一下吗?程序开始就强制变量声明了,所以MC没有声明,应该要报错的。

作者: parato   发布时间: 2011-08-03

如果变量 MC 在另外一个模块中作了声明,则一样是属于模块级变量,不需要在这个模块中再次声明!
引用:
原帖由 parato 于 2011-8-3 18:57 发表
有谁能看一下吗?程序开始就强制变量声明了,所以MC没有声明,应该要报错的。

作者: lu_zhao_long   发布时间: 2011-08-03

来这里看大师的讲解

[ 本帖最后由 335081548 于 2011-8-3 20:18 编辑 ]

作者: 335081548   发布时间: 2011-08-03