vba中全局变量和局部变量的重要解析

 时间:2026-02-15 12:07:06

1、首先我们打开一个工作样表作为例子。

vba中全局变量和局部变量的重要解析

2、使用alt+f11组合快捷键打开vba编辑器,插入一个新的代码,在代码编辑框中输入以下代码:

Option Explicit

Public i As Integer

Sub Test1()

Dim s As Integer

MsgBox i

MsgBox s

i = i + 1

End Sub

Sub Test2()

    MsgBox i

    MsgBox s

End Sub

vba中全局变量和局部变量的重要解析

3、我们运行一下这两个过程,会发现对同一个变量得到的结果却是不一样的。运行test1,我们能够得到正确的过程结果,但是运行test2我们会得到错误变量未定义的结果。

vba中全局变量和局部变量的重要解析

4、分析一下代码,我们做了一个全局变量i,所以在test1和test2中,i变量都是定义过的,可以使用。而s则只在test1里做了局部变量声明,所以test1能够正常运行得到结果。

vba中全局变量和局部变量的重要解析

5、如果我们图简洁,我们直接将变量声明这个语句删除掉,TEST2过程就可以正常的工作,但是这种方法在运行上会造成变量的混乱,尤其是在复杂代码中,未定义的变量会给不同的进程中的代码阅读造成混乱。因为未给s赋值也未定义,所以s实际上是个空值。

vba中全局变量和局部变量的重要解析

6、如果给s下了个定义,虽然msgbox不会显示具体的数值,但是s的类型会被vba所确认,其类型会被正确的显示出来。

vba中全局变量和局部变量的重要解析

7、经过以上步骤的解说,可以看出变量声明的重要性,合理的确定变量是全局还是局部,是非常重要的选择。当然更好的办法是将代码封装为不同的模块,并相互调用,可以避免变量的混乱。

vba中全局变量和局部变量的重要解析

  • 如何理解Excel VBA的With语句
  • 通过VBA设置excel的最后一行的第n列单元格的值
  • 如何在Excel VBA中计算数组的大小
  • 怎样使用VBA用图像控件打造动态按钮?
  • 如何设置Excel始终以默认编码保存网页
  • 热门搜索
    猕猴桃的功效与作用 运动会入场口号 什么是定滑轮 补偿器的作用 关于校园安全的知识 康复新液的作用 地骨皮的功效与作用 节操什么意思 拔罐的作用 接地线的作用